@vgip/meta-ui 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -312,16 +312,15 @@ export const metaNormalizer = (meta, integration, resourceType) => {
312
312
  if (resourceType === 'CandidateNote' || resourceType === 'ContactNote') {
313
313
  metaV3.layout.editable = false;
314
314
  }
315
- }
316
- else if (integrationCode === 'CLIO') {
317
- if (resourceType === 'PhoneCommunication') {
318
- for (const f of metaV3.layout.sections[0].fields) {
319
- if (f.name === 'time_entries') {
320
- f.hidden = 'update';
321
- }
322
- }
323
- }
315
+ // } else if (integrationCode === 'CLIO') {
316
+ // if (resourceType === 'PhoneCommunication') {
317
+ // for (const f of metaV3.layout.sections[0].fields) {
318
+ // if (f.name === 'time_entries') {
319
+ // f.visible = 'CREATE';
320
+ // }
321
+ // }
322
+ // }
324
323
  }
325
324
  return sortObj(metaV3);
326
325
  };
327
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YU5vcm1hbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL21ldGFOb3JtYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDdEIsSUFBSSxPQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUMsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUU7SUFDaEUsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sZUFBZSxH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QUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO29CQUM3QixDQUFDLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztpQkFDckI7YUFDRjtTQUNGO0tBQ0Y7SUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQEF1dGhvcjogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBEYXRlOiAyMDE5LTA5LTE5IDE3OjM0OjQ5XG4gKiBATGFzdCBNb2RpZmllZCBieTogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDMgMDk6NDI6MTJcbiAqL1xuXG5pbXBvcnQgeyBmaWVsZE5vcm1hbGl6ZXIgfSBmcm9tICcuL2ZpZWxkTm9ybWFsaXplcic7XG5pbXBvcnQgeyB1bmlxdWVOYW1lRmlsdGVyIH0gZnJvbSAnLi9maWVsZE5vcm1hbGl6ZXIvdW5pcXVlTmFtZUZpbHRlcic7XG5cbmNvbnN0IHNvcnRPYmogPSAob2JqKSA9PiB7XG4gIGlmICh0eXBlb2Yob2JqKSAhPT0gJ29iamVjdCcgfHwgb2JqID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLm1hcCgoZSkgPT4gc29ydE9iaihlKSkuc29ydCgpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikuc29ydCgpLnJlZHVjZSgoc29ydGVkLCBrKSA9PiB7XG4gICAgc29ydGVkW2tdID0gc29ydE9iaihvYmpba10pO1xuICAgIHJldHVybiBzb3J0ZWQ7XG4gIH0sIHt9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXRhTm9ybWFsaXplciA9IChtZXRhLCBpbnRlZ3JhdGlvbiwgcmVzb3VyY2VUeXBlKSA9PiB7XG4gIGNvbnN0IHVuaXFGaWVsZE5hbWVzID0gW107XG4gIGNvbnN0IGludGVncmF0aW9uQ29kZSA9IChpbnRlZ3JhdGlvbiB8fCAnJykudG9VcHBlckNhc2UoKTtcbiAgY29uc3QgbWV0YVYzOiBhbnkgPSB7XG4gICAgaW50ZWdyYXRpb24sXG4gICAgcmVzb3VyY2VUeXBlLFxuICAgIGF2YWlsYWJsZUxheW91dHM6IG1ldGEuYXZhaWxhYmxlTGF5b3V0cyxcbiAgICBsYXlvdXQ6IHtcbiAgICAgIGlkOiBtZXRhLmxheW91dC5pZCxcbiAgICAgIG5hbWU6IG1ldGEubGF5b3V0Lm5hbWUsXG4gICAgICBsYWJlbDogbWV0YS5sYXlvdXQubGFiZWwsXG4gICAgICB2ZXJzaW9uOiAnMy4wLjAnLFxuICAgICAgc2VjdGlvbnM6IChtZXRhLmxheW91dC5zZWN0aW9ucyB8fCBbXSkubWFwKChzKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlY3Rpb246IGFueSA9IHtcbiAgICAgICAgICBsYWJlbDogcy5sYWJlbCxcbiAgICAgICAgICBmaWVsZHM6IHVuaXF1ZU5hbWVGaWx0ZXIocy5maWVsZHMgfHwgW10sIHVuaXFGaWVsZE5hbWVzKS5tYXAoKHYpID0+IGZpZWxkTm9ybWFsaXplcih2LCB1bmlxRmllbGROYW1lcykpIC8vIFZJU1QtNDI0XG4gICAgICAgIH07XG4gICAgICAgIGlmIChzLnZpc2libGUgfHwgcy5hbHdheXNWaXNpYmxlKSB7XG4gICAgICAgICAgc2VjdGlvbi52aXNpYmxlID0gcy52aXNpYmxlIHx8IHMuYWx3YXlzVmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VjdGlvbjtcbiAgICAgIH0pXG4gICAgfVxuICB9O1xuICBpZiAobWV0YS5sYXlvdXQub3JpZ0xheW91dElkKSB7XG4gICAgbWV0YVYzLmxheW91dC5vcmlnTGF5b3V0SWQgPSBtZXRhLmxheW91dC5vcmlnTGF5b3V0SWQ7XG4gIH1cbiAgaWYgKG1ldGEuZHJhZnRzKSB7XG4gICAgbWV0YVYzLmRyYWZ0cyA9IG1ldGEuZHJhZnRzO1xuICB9XG4gIGlmIChtZXRhLmxheW91dC5jaGlsZHJlbikge1xuICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBtZXRhLmxheW91dC5jaGlsZHJlbjtcbiAgfVxuXG4gIGNvbnN0IGZpZWxkRml4ZXNCeUludGVncmF0aW9uID0gKGYpID0+IHtcbiAgICBpZiAoZi50eXBlID09PSAnYm9vbGVhbicgJiYgKCh0eXBlb2YoZi5kZWZhdWx0KSAhPT0gJ2Jvb2xlYW4nKSAmJiBmLmRlZmF1bHQgJiYgIWYuZGVmYXVsdC52YWx1ZSkgKSB7XG4gICAgICBkZWxldGUgZi5kZWZhdWx0O1xuICAgIH0gZWxzZSBpZiAoZi50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IChmLnJlZmVyZW5jZSBpbnN0YW5jZW9mIEFycmF5KSA/IGYucmVmZXJlbmNlIDogW2YucmVmZXJlbmNlXTtcbiAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgIGlmIChyICYmIHIuY3JlYXRhYmxlID09PSBmYWxzZSAmJiB0eXBlb2Yoci51cGRhdGFibGUpID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHIudXBkYXRhYmxlID0gZmFsc2U7IC8vIFVzZXIgbWlzc2luZyB1cGRhdGFibGUsIG1heSBiZSBvdGhlciB0b29cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2ggKGludGVncmF0aW9uQ29kZSkge1xuICAgICAgY2FzZSAnQlVMTEhPUk4nOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdBcHBvaW50bWVudCcpIHtcbiAgICAgICAgICBpZiAoWydkYXRlQmVnaW4nLCAnZGF0ZUVuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zID0geyBzdGVwOiAxODAwIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zLnN0ZXAgPSAxODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5kZWZhdWx0ID0gZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdub3cnIDogJzMwLm1pbnV0ZXMnO1xuICAgICAgICAgICAgaWYgKCFmLmF1dG8pIHtcbiAgICAgICAgICAgICAgZi5hdXRvID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmLmF1dG9bZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdsdCcgOiAnZ3QnXSA9IHtcbiAgICAgICAgICAgICAgYWdhaW5zdDogZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdkYXRlRW5kJyA6ICdkYXRlQmVnaW4nLFxuICAgICAgICAgICAgICBvZmZzZXQ6IGAke2YubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnLTMwJyA6ICczMCd9Lm1pbnV0ZXNgXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi5uYW1lID09PSAnY29tbWVudHMnKSB7XG4gICAgICAgICAgaWYgKCFmLnZhbGlkYXRpb25zKSB7XG4gICAgICAgICAgICBmLnZhbHVkYXRpb25zID0geyByZXF1aXJlZDogdHJ1ZSB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmLnZhbGlkYXRpb25zLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ05vdGUnKSB7XG4gICAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi5uYW1lID09PSAnYWRkcmVzcy5zdGF0ZScpIHtcbiAgICAgICAgICBmLmNyZWF0YWJsZSA9IGZhbHNlO1xuICAgICAgICAgIGYudXBkYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdHT09HTEUnOiB7XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdjb250YWN0SWQnKSB7XG4gICAgICAgICAgZi5sYWJlbCA9ICdDb250YWN0JztcbiAgICAgICAgfSBlbHNlIGlmIChbJ3N0YXJ0JywgJ2VuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYuYXV0bykge1xuICAgICAgICAgICAgZi5hdXRvID0ge307XG4gICAgICAgICAgfVxuICAgICAgICAgIGYuYXV0b1tmLm5hbWUgPT09ICdzdGFydCcgPyAnbHQnIDogJ2d0J10gPSB7XG4gICAgICAgICAgICBhZ2FpbnN0OiBmLm5hbWUgPT09ICdzdGFydCcgPyAnZW5kJyA6ICdzdGFydCcsXG4gICAgICAgICAgICBvZmZzZXQ6IGAke2YubmFtZSA9PT0gJ3N0YXJ0JyA/ICctMzAnIDogJzMwJ30ubWludXRlc2BcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnT0ZGSUNFMzY1Jzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnRXZlbnRzJykge1xuICAgICAgICAgIGlmIChbJ3N0YXJ0JywgJ2VuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zID0geyBzdGVwOiAxODAwIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zLnN0ZXAgPSAxODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5kZWZhdWx0ID0gZi5uYW1lID09PSAnc3RhcnQnID8gJ25vdycgOiAnMzAubWludXRlcyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrcycgJiYgZi5uYW1lID09PSAnY2hlY2tsaXN0Jykge1xuICAgICAgICAgIGYuY3JlYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyAmJiByZXNvdXJjZVR5cGUgIT09ICdUYXNrcycpIHtcbiAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICB9IGVsc2UgaWYgKGYubmFtZSA9PT0gJ2NvbnRlbnQnKSB7XG4gICAgICAgICAgZi50eXBlID0gJ3RleHQnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnU0FMRVNGT1JDRSc6IHtcbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1Rhc2snICYmIGYubmFtZSA9PT0gJ1doYXRJZCcpIHtcbiAgICAgICAgICBmLmRpc2FibGVkID0ge1xuICAgICAgICAgICAgJ1dob0lkLnR5cGUnOiAnTGVhZCcgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChbJ0Rlc2NyaXB0aW9uJywgJ1BhcmVudElkJ10uaW5kZXhPZihmLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgIGlmICghZi52aXNpYmxlKSB7XG4gICAgICAgICAgICBmLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSAoZi5yZWZlcmVuY2UgaW5zdGFuY2VvZiBBcnJheSkgPyBmLnJlZmVyZW5jZSA6IFtmLnJlZmVyZW5jZV07XG4gICAgICAgICAgZm9yIChjb25zdCByIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgIGlmIChyICYmIFsnQWNjb3VudCddLmluZGV4T2Yoci5uYW1lKSAhPT0gLTEpIHsgLy8gZm9yY2UgY3JlYXRhYmxlXG4gICAgICAgICAgICAgIHIuY3JlYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgci51cGRhdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1NVR0FSJzoge1xuICAgICAgICBpZiAoWydkZXNjcmlwdGlvbicsICdwYXJlbnRfaWQnLCAnY29udGFjdF9pZCcsICdjb250YWN0cyddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYudmlzaWJsZSkge1xuICAgICAgICAgICAgZi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gKGYucmVmZXJlbmNlIGluc3RhbmNlb2YgQXJyYXkpID8gZi5yZWZlcmVuY2UgOiBbZi5yZWZlcmVuY2VdO1xuICAgICAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICBpZiAociAmJiBbJ0FjY291bnRzJywgJ0NvbnRhY3RzJywgJ0xlYWRzJ10uaW5kZXhPZihyLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgICAgICByLmxhYmVsID0gci5uYW1lLnNsaWNlKDAsIC0xKTsgLy8gVXNlIHNpbmd1bGFyIGxhYmVsc1xuICAgICAgICAgICAgICByLmNyZWF0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgIHIudXBkYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdaRU5ERVNLJzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGlja2V0JyAmJiBmLm5hbWUgPT09ICdhc3NpZ25lZScpIHtcbiAgICAgICAgICBmLnJlZmVyZW5jZS51cGRhdGFibGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0hVQlNQT1QnOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdMb2dDYWxsJyAmJiBmLm5hbWUgPT09ICdib2R5Jykge1xuICAgICAgICAgIGYudHlwZSA9ICdyaWNodGV4dCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdORVRTVUlURSc6IHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2NvbXBhbnknICYmICFmLnNlYXJjaCkge1xuICAgICAgICAgIGYuc2VhcmNoID0ge1xuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgIGNvbnRhY3RJZDogJ2NvbnRhY3QjaWQnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXJsOiAnLi4vQ29udGFjdC8ke2NvbnRhY3RJZH0/ZXhwYW5kPWNvbXBhbnknLFxuICAgICAgICAgICAgZXh0cmFjdDogJ2NvbXBhbnknXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZi50eXBlID09PSAnY29tcG9zaXRlJyAmJiBmLmZpZWxkcykge1xuICAgICAgZm9yIChjb25zdCBmZiBvZiBmLmZpZWxkcykge1xuICAgICAgICBmaWVsZEZpeGVzQnlJbnRlZ3JhdGlvbihmZik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIGNvbW1vbiBmaXhlcyBmb3IgYWxsIGludGVncmF0aW9uc1xuICBpZiAobWV0YVYzLmxheW91dC5zZWN0aW9ucy5sZW5ndGgpIHtcbiAgICBmb3IgKGNvbnN0IHMgb2YgKG1ldGFWMy5sYXlvdXQuc2VjdGlvbnMpKSB7XG4gICAgICBpZiAoIXMgfHwgIXMuZmllbGRzKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBmIG9mIHMuZmllbGRzKSB7XG4gICAgICAgIGZpZWxkRml4ZXNCeUludGVncmF0aW9uKGYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEdvb2dsZSBHbWFpbCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnR09PR0xFJykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdNYWlsJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdjMgYXBpXG4gICAgICAgICAgbGFiZWw6ICdDb21tZW50cycsXG4gICAgICAgICAgbmFtZTogJ2NvbW1lbnRzJyxcbiAgICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgbGFiZWw6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrJykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbe1xuICAgICAgICAgIGxhYmVsOiAnU3VidGFza3MnLFxuICAgICAgICAgIG5hbWU6ICdzdWJUYXNrcycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdTdWJ0YXNrJyxcbiAgICAgICAgICAgIGxhYmVsOiAnU3VidGFzaydcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnWkVOREVTSycpIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGlja2V0Jykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBaZW5kZXNrIFRpY2tldCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICAgICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICAgIG5hbWU6ICdjb21tZW50cycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ29tbWVudCcsXG4gICAgICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnTVNEWU5BTUlDUycgJiYgIW1ldGFWMy5maWVsZHNNYXApIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAncGhvbmVjYWxsJykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgY29udGFjdGFibGVzOiBbJ2Zyb20nLCAndG8nXSxcbiAgICAgICAgc3ViamVjdDogJ3N1YmplY3QnLFxuICAgICAgICBwaG9uZU51bWJlcjogJ3Bob25lbnVtYmVyJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdjb250YWN0Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZmlyc3ROYW1lOiAnZmlyc3RuYW1lJyxcbiAgICAgICAgbGFzdE5hbWU6ICdsYXN0bmFtZSdcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdhY2NvdW50Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZGlzcGxheU5hbWU6ICduYW1lJ1xuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnT0ZGSUNFMzY1Jykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDb252ZXJzYXRpb25zJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgbWV0YVYzLmxheW91dC5jaGlsZHJlbiA9IFt7IC8vIGNoaWxkcmVuIGVuaGFuY2VtZW50XG4gICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICBuYW1lOiAnY29tbWVudHMnLFxuICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICBsYWJlbDogJ0NvbW1lbnQnLFxuICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XTtcbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NvbW1lbnQnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ0pPQkRJVkEnKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NhbmRpZGF0ZU5vdGUnIHx8IHJlc291cmNlVHlwZSA9PT0gJ0NvbnRhY3ROb3RlJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdDTElPJykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdQaG9uZUNvbW11bmljYXRpb24nKSB7XG4gICAgICBmb3IgKGNvbnN0IGYgb2YgbWV0YVYzLmxheW91dC5zZWN0aW9uc1swXS5maWVsZHMpIHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ3RpbWVfZW50cmllcycpIHtcbiAgICAgICAgICBmLmhpZGRlbiA9ICd1cGRhdGUnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBzb3J0T2JqKG1ldGFWMyk7XG59O1xuIl19
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YU5vcm1hbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL21ldGFOb3JtYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDdEIsSUFBSSxPQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUMsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUU7SUFDaEUsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sZUFBZSxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFELE1BQU0sTUFBTSxHQUFRO1FBQ2xCLFdBQVc7UUFDWCxZQUFZO1FBQ1osZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtRQUN2QyxNQUFNLEVBQUU7WUFDTixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7WUFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSztZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxPQUFPLEdBQVE7b0JBQ25CLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztvQkFDZCxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsV0FBVztpQkFDcEgsQ0FBQztnQkFDRixJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRTtvQkFDaEMsT0FBTyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUM7aUJBQ2hEO2dCQUNELE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUMsQ0FBQztTQUNIO0tBQ0YsQ0FBQztJQUNGLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7UUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7S0FDdkQ7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDZixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDN0I7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0tBQy9DO0lBRUQsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3BDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUc7WUFDakcsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ2xCO2FBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUNqQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hGLEtBQUssTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFO2dCQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxPQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFdBQVcsRUFBRTtvQkFDckUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQywyQ0FBMkM7aUJBQ2pFO2FBQ0Y7U0FDRjtRQUNELFFBQVEsZUFBZSxFQUFFO1lBQ3ZCLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxZQUFZLEtBQUssYUFBYSxFQUFFO29CQUNsQyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQ25ELElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFOzRCQUNsQixDQUFDLENBQUMsV0FBVyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO3lCQUNoQzs2QkFBTTs0QkFDTCxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7eUJBQzNCO3dCQUNELENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO3dCQUMxRCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTs0QkFDWCxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQzt5QkFDYjt3QkFDRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHOzRCQUM3QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVzs0QkFDekQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVO3lCQUMzRCxDQUFDO3FCQUNIO2lCQUNGO2dCQUNELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO3dCQUNsQixDQUFDLENBQUMsV0FBVyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO3FCQUNwQzt5QkFBTTt3QkFDTCxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7cUJBQy9CO29CQUNELElBQUksWUFBWSxLQUFLLE1BQU0sRUFBRTt3QkFDM0IsQ0FBQyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7cUJBQ3JCO2lCQUNGO2dCQUNELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7b0JBQzlCLENBQUMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUNwQixDQUFDLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDckI7Z0JBQ0QsTUFBTTthQUNQO1lBQ0QsS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDYixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO29CQUMxQixDQUFDLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztpQkFDckI7cUJBQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO29CQUNsRCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTt3QkFDWCxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztxQkFDYjtvQkFDRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHO3dCQUN6QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTzt3QkFDN0MsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVO3FCQUN2RCxDQUFDO2lCQUNIO2dCQUNELE1BQU07YUFDUDtZQUNELEtBQUssV0FBVyxDQUFDLENBQUM7Z0JBQ2hCLElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO3dCQUMzQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTs0QkFDbEIsQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQzt5QkFDaEM7NkJBQU07NEJBQ0wsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO3lCQUMzQjt3QkFDRCxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztxQkFDdkQ7aUJBQ0Y7Z0JBQ0QsSUFBSSxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO29CQUN0RCxDQUFDLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDckI7Z0JBQ0QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsSUFBSSxZQUFZLEtBQUssT0FBTyxFQUFFO29CQUN4RCxDQUFDLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztpQkFDckI7cUJBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtvQkFDL0IsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7aUJBQ2pCO2dCQUNELE1BQU07YUFDUDtZQUNELEtBQUssWUFBWSxDQUFDLENBQUM7Z0JBQ2pCLElBQUksWUFBWSxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtvQkFDbEQsQ0FBQyxDQUFDLFFBQVEsR0FBRzt3QkFDWCxZQUFZLEVBQUUsTUFBTSxDQUFDLDJEQUEyRDtxQkFDakYsQ0FBQztpQkFDSDtnQkFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ3RELElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO3dCQUNkLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO3FCQUNsQjtpQkFDRjtnQkFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO29CQUMxQixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNoRixLQUFLLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRTt3QkFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsa0JBQWtCOzRCQUMvRCxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzs0QkFDbkIsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7eUJBQ3BCO3FCQUNGO2lCQUNGO2dCQUNELE1BQU07YUFDUDtZQUNELEtBQUssT0FBTyxDQUFDLENBQUM7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ2pGLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO3dCQUNkLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO3FCQUNsQjtpQkFDRjtnQkFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO29CQUMxQixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNoRixLQUFLLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRTt3QkFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7NEJBQ2pFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0I7NEJBQ3JELENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDOzRCQUNuQixDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzt5QkFDcEI7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsTUFBTTthQUNQO1lBQ0QsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDZCxJQUFJLFlBQVksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7b0JBQ3RELENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDL0I7Z0JBQ0QsTUFBTTthQUNQO1lBQ0QsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDZCxJQUFJLFlBQVksS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7b0JBQ25ELENBQUMsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO2lCQUNyQjtnQkFDRCxNQUFNO2FBQ1A7WUFDRCxLQUFLLFVBQVUsQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFO29CQUNyQyxDQUFDLENBQUMsTUFBTSxHQUFHO3dCQUNULE1BQU0sRUFBRTs0QkFDTixTQUFTLEVBQUUsWUFBWTt5QkFDeEI7d0JBQ0QsR0FBRyxFQUFFLHdDQUF3Qzt3QkFDN0MsT0FBTyxFQUFFLFNBQVM7cUJBQ25CLENBQUM7aUJBQ0g7YUFDRjtTQUNGO1FBQ0QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3RDLEtBQUssTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQkFDekIsdUJBQXVCLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDN0I7U0FDRjtJQUNILENBQUMsQ0FBQztJQUVGLG9DQUFvQztJQUNwQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUNqQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtnQkFDbkIsTUFBTTthQUNQO1lBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO2dCQUN4Qix1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1QjtTQUNGO0tBQ0Y7SUFFRCxvQ0FBb0M7SUFDcEMsSUFBSSxlQUFlLEtBQUssUUFBUSxFQUFFO1FBQ2hDLElBQUksWUFBWSxLQUFLLE1BQU0sRUFBRTtZQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDO3dCQUN4QixLQUFLLEVBQUUsVUFBVTt3QkFDakIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFNBQVMsRUFBRTs0QkFDVCxZQUFZLEVBQUUsU0FBUzs0QkFDdkIsS0FBSyxFQUFFLFNBQVM7NEJBQ2hCLFFBQVEsRUFBRSxLQUFLO3lCQUNoQjtxQkFDRixDQUFDLENBQUM7YUFDSjtTQUNGO2FBQU0sSUFBSSxZQUFZLEtBQUssTUFBTSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQzt3QkFDeEIsS0FBSyxFQUFFLFVBQVU7d0JBQ2pCLElBQUksRUFBRSxVQUFVO3dCQUNoQixTQUFTLEVBQUU7NEJBQ1QsWUFBWSxFQUFFLFNBQVM7NEJBQ3ZCLEtBQUssRUFBRSxTQUFTO3lCQUNqQjtxQkFDRixDQUFDLENBQUM7YUFDSjtTQUNGO2FBQU0sSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUNoQztLQUNGO1NBQU0sSUFBSSxlQUFlLEtBQUssU0FBUyxFQUFFO1FBQ3hDLElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQzNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUM7d0JBQ3hCLEtBQUssRUFBRSxVQUFVO3dCQUNqQixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsU0FBUyxFQUFFOzRCQUNULFlBQVksRUFBRSxTQUFTOzRCQUN2QixLQUFLLEVBQUUsU0FBUzs0QkFDaEIsUUFBUSxFQUFFLEtBQUs7eUJBQ2hCO3FCQUNGLENBQUMsQ0FBQzthQUNKO1NBQ0Y7YUFBTSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ2hDO0tBQ0Y7U0FBTSxJQUFJLGVBQWUsS0FBSyxZQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2hFLElBQUksWUFBWSxLQUFLLFdBQVcsRUFBRTtZQUNoQyxNQUFNLENBQUMsU0FBUyxHQUFHO2dCQUNqQixZQUFZLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO2dCQUM1QixPQUFPLEVBQUUsU0FBUztnQkFDbEIsV0FBVyxFQUFFLGFBQWE7YUFDM0IsQ0FBQztTQUNIO2FBQU0sSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxTQUFTLEdBQUc7Z0JBQ2pCLFdBQVcsRUFBRSxZQUFZO2dCQUN6QixTQUFTLEVBQUUsV0FBVztnQkFDdEIsUUFBUSxFQUFFLFVBQVU7YUFDckIsQ0FBQztTQUNIO2FBQU0sSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxTQUFTLEdBQUc7Z0JBQ2pCLFdBQVcsRUFBRSxZQUFZO2dCQUN6QixXQUFXLEVBQUUsTUFBTTthQUNwQixDQUFDO1NBQ0g7S0FDRjtTQUFNLElBQUksZUFBZSxLQUFLLFdBQVcsRUFBRTtRQUMxQyxJQUFJLFlBQVksS0FBSyxlQUFlLEVBQUU7WUFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUM7b0JBQ3hCLEtBQUssRUFBRSxVQUFVO29CQUNqQixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNULFlBQVksRUFBRSxTQUFTO3dCQUN2QixLQUFLLEVBQUUsU0FBUzt3QkFDaEIsUUFBUSxFQUFFLEtBQUs7cUJBQ2hCO2lCQUNGLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUNoQztLQUNGO1NBQU0sSUFBSSxlQUFlLEtBQUssU0FBUyxFQUFFO1FBQ3hDLElBQUksWUFBWSxLQUFLLGVBQWUsSUFBSSxZQUFZLEtBQUssYUFBYSxFQUFFO1lBQ3RFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUNoQztRQUNILDJDQUEyQztRQUMzQyxpREFBaUQ7UUFDakQsMERBQTBEO1FBQzFELHlDQUF5QztRQUN6QyxnQ0FBZ0M7UUFDaEMsVUFBVTtRQUNWLFFBQVE7UUFDUixNQUFNO0tBQ0w7SUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQEF1dGhvcjogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBEYXRlOiAyMDE5LTA5LTE5IDE3OjM0OjQ5XG4gKiBATGFzdCBNb2RpZmllZCBieTogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDMgMDk6NDI6MTJcbiAqL1xuXG5pbXBvcnQgeyBmaWVsZE5vcm1hbGl6ZXIgfSBmcm9tICcuL2ZpZWxkTm9ybWFsaXplcic7XG5pbXBvcnQgeyB1bmlxdWVOYW1lRmlsdGVyIH0gZnJvbSAnLi9maWVsZE5vcm1hbGl6ZXIvdW5pcXVlTmFtZUZpbHRlcic7XG5cbmNvbnN0IHNvcnRPYmogPSAob2JqKSA9PiB7XG4gIGlmICh0eXBlb2Yob2JqKSAhPT0gJ29iamVjdCcgfHwgb2JqID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLm1hcCgoZSkgPT4gc29ydE9iaihlKSkuc29ydCgpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikuc29ydCgpLnJlZHVjZSgoc29ydGVkLCBrKSA9PiB7XG4gICAgc29ydGVkW2tdID0gc29ydE9iaihvYmpba10pO1xuICAgIHJldHVybiBzb3J0ZWQ7XG4gIH0sIHt9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXRhTm9ybWFsaXplciA9IChtZXRhLCBpbnRlZ3JhdGlvbiwgcmVzb3VyY2VUeXBlKSA9PiB7XG4gIGNvbnN0IHVuaXFGaWVsZE5hbWVzID0gW107XG4gIGNvbnN0IGludGVncmF0aW9uQ29kZSA9IChpbnRlZ3JhdGlvbiB8fCAnJykudG9VcHBlckNhc2UoKTtcbiAgY29uc3QgbWV0YVYzOiBhbnkgPSB7XG4gICAgaW50ZWdyYXRpb24sXG4gICAgcmVzb3VyY2VUeXBlLFxuICAgIGF2YWlsYWJsZUxheW91dHM6IG1ldGEuYXZhaWxhYmxlTGF5b3V0cyxcbiAgICBsYXlvdXQ6IHtcbiAgICAgIGlkOiBtZXRhLmxheW91dC5pZCxcbiAgICAgIG5hbWU6IG1ldGEubGF5b3V0Lm5hbWUsXG4gICAgICBsYWJlbDogbWV0YS5sYXlvdXQubGFiZWwsXG4gICAgICB2ZXJzaW9uOiAnMy4wLjAnLFxuICAgICAgc2VjdGlvbnM6IChtZXRhLmxheW91dC5zZWN0aW9ucyB8fCBbXSkubWFwKChzKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlY3Rpb246IGFueSA9IHtcbiAgICAgICAgICBsYWJlbDogcy5sYWJlbCxcbiAgICAgICAgICBmaWVsZHM6IHVuaXF1ZU5hbWVGaWx0ZXIocy5maWVsZHMgfHwgW10sIHVuaXFGaWVsZE5hbWVzKS5tYXAoKHYpID0+IGZpZWxkTm9ybWFsaXplcih2LCB1bmlxRmllbGROYW1lcykpIC8vIFZJU1QtNDI0XG4gICAgICAgIH07XG4gICAgICAgIGlmIChzLnZpc2libGUgfHwgcy5hbHdheXNWaXNpYmxlKSB7XG4gICAgICAgICAgc2VjdGlvbi52aXNpYmxlID0gcy52aXNpYmxlIHx8IHMuYWx3YXlzVmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VjdGlvbjtcbiAgICAgIH0pXG4gICAgfVxuICB9O1xuICBpZiAobWV0YS5sYXlvdXQub3JpZ0xheW91dElkKSB7XG4gICAgbWV0YVYzLmxheW91dC5vcmlnTGF5b3V0SWQgPSBtZXRhLmxheW91dC5vcmlnTGF5b3V0SWQ7XG4gIH1cbiAgaWYgKG1ldGEuZHJhZnRzKSB7XG4gICAgbWV0YVYzLmRyYWZ0cyA9IG1ldGEuZHJhZnRzO1xuICB9XG4gIGlmIChtZXRhLmxheW91dC5jaGlsZHJlbikge1xuICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBtZXRhLmxheW91dC5jaGlsZHJlbjtcbiAgfVxuXG4gIGNvbnN0IGZpZWxkRml4ZXNCeUludGVncmF0aW9uID0gKGYpID0+IHtcbiAgICBpZiAoZi50eXBlID09PSAnYm9vbGVhbicgJiYgKCh0eXBlb2YoZi5kZWZhdWx0KSAhPT0gJ2Jvb2xlYW4nKSAmJiBmLmRlZmF1bHQgJiYgIWYuZGVmYXVsdC52YWx1ZSkgKSB7XG4gICAgICBkZWxldGUgZi5kZWZhdWx0O1xuICAgIH0gZWxzZSBpZiAoZi50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IChmLnJlZmVyZW5jZSBpbnN0YW5jZW9mIEFycmF5KSA/IGYucmVmZXJlbmNlIDogW2YucmVmZXJlbmNlXTtcbiAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgIGlmIChyICYmIHIuY3JlYXRhYmxlID09PSBmYWxzZSAmJiB0eXBlb2Yoci51cGRhdGFibGUpID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHIudXBkYXRhYmxlID0gZmFsc2U7IC8vIFVzZXIgbWlzc2luZyB1cGRhdGFibGUsIG1heSBiZSBvdGhlciB0b29cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2ggKGludGVncmF0aW9uQ29kZSkge1xuICAgICAgY2FzZSAnQlVMTEhPUk4nOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdBcHBvaW50bWVudCcpIHtcbiAgICAgICAgICBpZiAoWydkYXRlQmVnaW4nLCAnZGF0ZUVuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zID0geyBzdGVwOiAxODAwIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zLnN0ZXAgPSAxODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5kZWZhdWx0ID0gZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdub3cnIDogJzMwLm1pbnV0ZXMnO1xuICAgICAgICAgICAgaWYgKCFmLmF1dG8pIHtcbiAgICAgICAgICAgICAgZi5hdXRvID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmLmF1dG9bZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdsdCcgOiAnZ3QnXSA9IHtcbiAgICAgICAgICAgICAgYWdhaW5zdDogZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdkYXRlRW5kJyA6ICdkYXRlQmVnaW4nLFxuICAgICAgICAgICAgICBvZmZzZXQ6IGAke2YubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnLTMwJyA6ICczMCd9Lm1pbnV0ZXNgXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi5uYW1lID09PSAnY29tbWVudHMnKSB7XG4gICAgICAgICAgaWYgKCFmLnZhbGlkYXRpb25zKSB7XG4gICAgICAgICAgICBmLnZhbHVkYXRpb25zID0geyByZXF1aXJlZDogdHJ1ZSB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmLnZhbGlkYXRpb25zLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ05vdGUnKSB7XG4gICAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi5uYW1lID09PSAnYWRkcmVzcy5zdGF0ZScpIHtcbiAgICAgICAgICBmLmNyZWF0YWJsZSA9IGZhbHNlO1xuICAgICAgICAgIGYudXBkYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdHT09HTEUnOiB7XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdjb250YWN0SWQnKSB7XG4gICAgICAgICAgZi5sYWJlbCA9ICdDb250YWN0JztcbiAgICAgICAgfSBlbHNlIGlmIChbJ3N0YXJ0JywgJ2VuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYuYXV0bykge1xuICAgICAgICAgICAgZi5hdXRvID0ge307XG4gICAgICAgICAgfVxuICAgICAgICAgIGYuYXV0b1tmLm5hbWUgPT09ICdzdGFydCcgPyAnbHQnIDogJ2d0J10gPSB7XG4gICAgICAgICAgICBhZ2FpbnN0OiBmLm5hbWUgPT09ICdzdGFydCcgPyAnZW5kJyA6ICdzdGFydCcsXG4gICAgICAgICAgICBvZmZzZXQ6IGAke2YubmFtZSA9PT0gJ3N0YXJ0JyA/ICctMzAnIDogJzMwJ30ubWludXRlc2BcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnT0ZGSUNFMzY1Jzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnRXZlbnRzJykge1xuICAgICAgICAgIGlmIChbJ3N0YXJ0JywgJ2VuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zID0geyBzdGVwOiAxODAwIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zLnN0ZXAgPSAxODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5kZWZhdWx0ID0gZi5uYW1lID09PSAnc3RhcnQnID8gJ25vdycgOiAnMzAubWludXRlcyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrcycgJiYgZi5uYW1lID09PSAnY2hlY2tsaXN0Jykge1xuICAgICAgICAgIGYuY3JlYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyAmJiByZXNvdXJjZVR5cGUgIT09ICdUYXNrcycpIHtcbiAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICB9IGVsc2UgaWYgKGYubmFtZSA9PT0gJ2NvbnRlbnQnKSB7XG4gICAgICAgICAgZi50eXBlID0gJ3RleHQnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnU0FMRVNGT1JDRSc6IHtcbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1Rhc2snICYmIGYubmFtZSA9PT0gJ1doYXRJZCcpIHtcbiAgICAgICAgICBmLmRpc2FibGVkID0ge1xuICAgICAgICAgICAgJ1dob0lkLnR5cGUnOiAnTGVhZCcgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChbJ0Rlc2NyaXB0aW9uJywgJ1BhcmVudElkJ10uaW5kZXhPZihmLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgIGlmICghZi52aXNpYmxlKSB7XG4gICAgICAgICAgICBmLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSAoZi5yZWZlcmVuY2UgaW5zdGFuY2VvZiBBcnJheSkgPyBmLnJlZmVyZW5jZSA6IFtmLnJlZmVyZW5jZV07XG4gICAgICAgICAgZm9yIChjb25zdCByIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgIGlmIChyICYmIFsnQWNjb3VudCddLmluZGV4T2Yoci5uYW1lKSAhPT0gLTEpIHsgLy8gZm9yY2UgY3JlYXRhYmxlXG4gICAgICAgICAgICAgIHIuY3JlYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgci51cGRhdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1NVR0FSJzoge1xuICAgICAgICBpZiAoWydkZXNjcmlwdGlvbicsICdwYXJlbnRfaWQnLCAnY29udGFjdF9pZCcsICdjb250YWN0cyddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYudmlzaWJsZSkge1xuICAgICAgICAgICAgZi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gKGYucmVmZXJlbmNlIGluc3RhbmNlb2YgQXJyYXkpID8gZi5yZWZlcmVuY2UgOiBbZi5yZWZlcmVuY2VdO1xuICAgICAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICBpZiAociAmJiBbJ0FjY291bnRzJywgJ0NvbnRhY3RzJywgJ0xlYWRzJ10uaW5kZXhPZihyLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgICAgICByLmxhYmVsID0gci5uYW1lLnNsaWNlKDAsIC0xKTsgLy8gVXNlIHNpbmd1bGFyIGxhYmVsc1xuICAgICAgICAgICAgICByLmNyZWF0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgIHIudXBkYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdaRU5ERVNLJzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGlja2V0JyAmJiBmLm5hbWUgPT09ICdhc3NpZ25lZScpIHtcbiAgICAgICAgICBmLnJlZmVyZW5jZS51cGRhdGFibGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0hVQlNQT1QnOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdMb2dDYWxsJyAmJiBmLm5hbWUgPT09ICdib2R5Jykge1xuICAgICAgICAgIGYudHlwZSA9ICdyaWNodGV4dCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdORVRTVUlURSc6IHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2NvbXBhbnknICYmICFmLnNlYXJjaCkge1xuICAgICAgICAgIGYuc2VhcmNoID0ge1xuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgIGNvbnRhY3RJZDogJ2NvbnRhY3QjaWQnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXJsOiAnLi4vQ29udGFjdC8ke2NvbnRhY3RJZH0/ZXhwYW5kPWNvbXBhbnknLFxuICAgICAgICAgICAgZXh0cmFjdDogJ2NvbXBhbnknXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZi50eXBlID09PSAnY29tcG9zaXRlJyAmJiBmLmZpZWxkcykge1xuICAgICAgZm9yIChjb25zdCBmZiBvZiBmLmZpZWxkcykge1xuICAgICAgICBmaWVsZEZpeGVzQnlJbnRlZ3JhdGlvbihmZik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIGNvbW1vbiBmaXhlcyBmb3IgYWxsIGludGVncmF0aW9uc1xuICBpZiAobWV0YVYzLmxheW91dC5zZWN0aW9ucy5sZW5ndGgpIHtcbiAgICBmb3IgKGNvbnN0IHMgb2YgKG1ldGFWMy5sYXlvdXQuc2VjdGlvbnMpKSB7XG4gICAgICBpZiAoIXMgfHwgIXMuZmllbGRzKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBmIG9mIHMuZmllbGRzKSB7XG4gICAgICAgIGZpZWxkRml4ZXNCeUludGVncmF0aW9uKGYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEdvb2dsZSBHbWFpbCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnR09PR0xFJykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdNYWlsJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdjMgYXBpXG4gICAgICAgICAgbGFiZWw6ICdDb21tZW50cycsXG4gICAgICAgICAgbmFtZTogJ2NvbW1lbnRzJyxcbiAgICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgbGFiZWw6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrJykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbe1xuICAgICAgICAgIGxhYmVsOiAnU3VidGFza3MnLFxuICAgICAgICAgIG5hbWU6ICdzdWJUYXNrcycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdTdWJ0YXNrJyxcbiAgICAgICAgICAgIGxhYmVsOiAnU3VidGFzaydcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnWkVOREVTSycpIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGlja2V0Jykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBaZW5kZXNrIFRpY2tldCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICAgICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICAgIG5hbWU6ICdjb21tZW50cycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ29tbWVudCcsXG4gICAgICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnTVNEWU5BTUlDUycgJiYgIW1ldGFWMy5maWVsZHNNYXApIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAncGhvbmVjYWxsJykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgY29udGFjdGFibGVzOiBbJ2Zyb20nLCAndG8nXSxcbiAgICAgICAgc3ViamVjdDogJ3N1YmplY3QnLFxuICAgICAgICBwaG9uZU51bWJlcjogJ3Bob25lbnVtYmVyJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdjb250YWN0Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZmlyc3ROYW1lOiAnZmlyc3RuYW1lJyxcbiAgICAgICAgbGFzdE5hbWU6ICdsYXN0bmFtZSdcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdhY2NvdW50Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZGlzcGxheU5hbWU6ICduYW1lJ1xuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnT0ZGSUNFMzY1Jykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDb252ZXJzYXRpb25zJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgbWV0YVYzLmxheW91dC5jaGlsZHJlbiA9IFt7IC8vIGNoaWxkcmVuIGVuaGFuY2VtZW50XG4gICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICBuYW1lOiAnY29tbWVudHMnLFxuICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICBsYWJlbDogJ0NvbW1lbnQnLFxuICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XTtcbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NvbW1lbnQnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ0pPQkRJVkEnKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NhbmRpZGF0ZU5vdGUnIHx8IHJlc291cmNlVHlwZSA9PT0gJ0NvbnRhY3ROb3RlJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgLy8gfSBlbHNlIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdDTElPJykge1xuICAvLyAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdQaG9uZUNvbW11bmljYXRpb24nKSB7XG4gIC8vICAgICBmb3IgKGNvbnN0IGYgb2YgbWV0YVYzLmxheW91dC5zZWN0aW9uc1swXS5maWVsZHMpIHtcbiAgLy8gICAgICAgaWYgKGYubmFtZSA9PT0gJ3RpbWVfZW50cmllcycpIHtcbiAgLy8gICAgICAgICBmLnZpc2libGUgPSAnQ1JFQVRFJztcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgfVxuICByZXR1cm4gc29ydE9iaihtZXRhVjMpO1xufTtcbiJdfQ==
@@ -70,15 +70,20 @@ export class FieldAbstract {
70
70
  this.parentChangeSubject.subscribe((value) => {
71
71
  if (value && value.hasOwnProperty(par.split('.')[0])) {
72
72
  setHiddenByPropertyConfig(par);
73
+ if (this.meta.$hidden) {
74
+ delete this.parent[this.meta.name];
75
+ }
73
76
  }
74
77
  });
75
78
  }
76
79
  }
77
- else if (this.meta.hidden === 'create') {
78
- this.meta.$hidden = !this.isPersistedParent;
79
- }
80
- else if (this.meta.hidden === 'update') {
81
- this.meta.$hidden = this.isPersistedParent;
80
+ else if (typeof (this.meta.hidden) === 'string') {
81
+ if (this.meta.hidden.toUpperCase() === 'CREATE') {
82
+ this.meta.$hidden = !this.isPersistedParent;
83
+ }
84
+ else if (this.meta.hidden.toUpperCase() === 'UPDATE') {
85
+ this.meta.$hidden = this.isPersistedParent;
86
+ }
82
87
  }
83
88
  else {
84
89
  this.meta.$hidden = !!this.meta.hidden;
@@ -114,11 +119,13 @@ export class FieldAbstract {
114
119
  });
115
120
  }
116
121
  }
117
- else if (this.meta.visible === 'create') {
118
- this.meta.$invisible = this.isPersistedParent;
119
- }
120
- else if (this.meta.visible === 'update') {
121
- this.meta.$invisible = !this.isPersistedParent;
122
+ else if (typeof (this.meta.visible) === 'string') {
123
+ if (this.meta.visible.toUpperCase() === 'CREATE') {
124
+ this.meta.$invisible = this.isPersistedParent;
125
+ }
126
+ else if (this.meta.visible.toUpperCase() === 'UPDATE') {
127
+ this.meta.$invisible = !this.isPersistedParent;
128
+ }
122
129
  }
123
130
  }
124
131
  if (this.theme !== 'inherit') {
@@ -276,4 +283,4 @@ export class MetaElemDisableadble {
276
283
  this.elementRef.nativeElement.classList.remove(this.cssmodifier);
277
284
  }
278
285
  }
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRBYnN0cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21ldGEtdWkvc3JjL2xpYi9maWVsZEFic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUEyQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYseURBQXlEO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBUXhFLGtFQUFrRTtBQUNsRSxNQUFNLE9BQWdCLGFBQWE7SUFGbkM7UUFpQkUseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBRzFCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixVQUFLLEdBQVEsRUFBRSxDQUFDO0tBNlBqQjtJQTNQQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFFeEMsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssT0FBTyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLG1CQUFtQixDQUFDO2FBQzVDO2lCQUFNO2dCQUNMLFFBQVEsSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDNUIsS0FBSyxXQUFXO3dCQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcseUJBQXlCLENBQUM7d0JBQ2pELE1BQU07b0JBQ1IsS0FBSyxPQUFPO3dC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TSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQEF1dGhvcjogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBEYXRlOiAyMDE5LTA5LTE5IDE3OjM0OjQ0XG4gKiBATGFzdCBNb2RpZmllZCBieTogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDQtMTggMjE6MTg6MDhcbiAqL1xuXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBFdmVudEVtaXR0ZXIsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBtZXRhRGFyaywgbWV0YUxpZ2h0IH0gZnJvbSAnLi9jb21tb24vdXRpbHMvY29sb3JUaGVtZXMnO1xuaW1wb3J0IHsgZXh0cmFjdFZhbHVlQnlTbWFydFByb3AgfSBmcm9tICcuLi9saWIvY29tbW9uL3V0aWxzL3NtYXJ0UHJvcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1ldGFGaWVsZDxUIGV4dGVuZHMgRmllbGRBYnN0cmFjdD4ge1xuICBtZXRhOiBhbnk7XG4gIG1vZGVsOiBhbnk7XG59XG5cbkBEaXJlY3RpdmUoKVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQgeyAvLyBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgbW9kZWw6IGFueTtcbiAgbWV0YTogYW55O1xuICBpbmRleDogbnVtYmVyO1xuICBwYXJlbnQ6IGFueTtcbiAgaW50ZWdyYXRpb25Db2RlOiBzdHJpbmc7XG4gIGludGVncmF0aW9uSWNvbjogc3RyaW5nO1xuICByZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgbW9kZWxJbnB1dDogSFRNTElucHV0RWxlbWVudDtcbiAgbW9kZWxDb250cm9sOiBIVE1MSW5wdXRFbGVtZW50O1xuICBtYWluSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIGtleUxpc3RlbmVyQWN0aXZlOiBib29sZWFuO1xuICBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT47XG4gIG9uTGVhdmU6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICB2YWxpZGF0aW9uQXR0cmlidXRlcyA9IFtdO1xuICBwcmV2aWV3OiBib29sZWFuO1xuICBwcmV2TW9kZWw6IGFueTtcbiAgY2hhbmdlRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnTW91c2VFdmVudHMnKTtcbiAgbWV0YVJlc291cmNlU2VydmljZTogYW55O1xuICBsb2dpY2FsRGlzYWJsZWQgPSBmYWxzZTtcbiAgdGhlbWU6IHN0cmluZztcbiAgZmxhZ3M6IGFueSA9IHt9O1xuXG4gIHN0YXRpYyBzZXR1cChpbnN0YW5jZSwgcGFyZW50LCBtZXRhKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuZWxlbWVudFJlZikge1xuICAgICAgaWYgKHRoaXMuaW50ZWdyYXRpb25Db2RlID09PSAnbW9ja3MnKSB7XG4gICAgICAgIHRoaXMuaW50ZWdyYXRpb25JY29uID0gJ0JyYW5kLWljb24tdm9uYWdlJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5pbnRlZ3JhdGlvbkNvZGUpIHtcbiAgICAgICAgICBjYXNlICdvZmZpY2UzNjUnOlxuICAgICAgICAgICAgdGhpcy5pbnRlZ3JhdGlvbkljb24gPSAnQnJhbmQtaWNvbi1vZmZpY2UtY29sb3InO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnc3VnYXInOlxuICAgICAgICAgICAgdGhpcy5pbnRlZ3JhdGlvbkljb24gPSAnQnJhbmQtaWNvbi1zdWdhcmNybS1jb2xvcic7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtc2R5bmFtaWNzJzpcbiAgICAgICAgICAgIHRoaXMuaW50ZWdyYXRpb25JY29uID0gJ0JyYW5kLWljb24tZHluYW1pY3MtY29sb3InO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRoaXMuaW50ZWdyYXRpb25JY29uID0gYEJyYW5kLWljb24tJHsodGhpcy5pbnRlZ3JhdGlvbkNvZGUgfHwgJycpLnRvTG93ZXJDYXNlKCl9LWNvbG9yYDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMubWV0YSwgJyRvcHRpb25hbCcsIHtcbiAgICAgICAgdmFsdWU6ICh0eXBlb2YodGhpcy5kZWZhdWx0KSA9PT0gJ3VuZGVmaW5lZCcpICYmIHRoaXMuaXNPcHRpb25hbCxcbiAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICAgIH0pO1xuICAgICAgdGhpcy5mbGFncyA9IHRoaXMubWV0YS5mbGFncyB8fCB7fTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLm1ldGEsICckaGlkZGVuJywge1xuICAgICAgICB2YWx1ZTogIXRoaXMuaXNQZXJzaXN0ZWRQYXJlbnQgJiYgdGhpcy5mbGFncy5jcmVhdGFibGUgPT09IGZhbHNlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZVxuICAgICAgfSk7XG4gICAgICBpZiAodHlwZW9mKHRoaXMubWV0YS5oaWRkZW4pICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBpZiAodHlwZW9mKHRoaXMubWV0YS5oaWRkZW4pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGNvbnN0IHNldEhpZGRlbkJ5UHJvcGVydHlDb25maWcgPSAocGFyKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mKHRoaXMubWV0YS5oaWRkZW5bcGFyXSkgPT09ICdib29sZWFuJykgeyAvLyBhbnkgdmFsdWUgbWFrZXMgbWUgaGlkZGVuXG4gICAgICAgICAgICAgIHRoaXMubWV0YS4kaGlkZGVuID0gISF0aGlzLnBhcmVudFtwYXJdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBleHRyYWN0VmFsdWVCeVNtYXJ0UHJvcCh0aGlzLnBhcmVudCwgcGFyKTtcbiAgICAgICAgICAgICAgY29uc3QgcGFyVmFsdWUgPSB2YWx1ZSA/ICh2YWx1ZS5pZCB8fCB2YWx1ZS52YWx1ZSB8fCB2YWx1ZSkgOiB2YWx1ZTtcbiAgICAgICAgICAgICAgdGhpcy5tZXRhLiRoaWRkZW4gPSB0aGlzLm1ldGEuaGlkZGVuW3Bhcl0gPT09IHBhclZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgICAgZm9yIChjb25zdCBwYXIgb2YgT2JqZWN0LmtleXModGhpcy5tZXRhLmhpZGRlbikpIHtcbiAgICAgICAgICAgIHNldEhpZGRlbkJ5UHJvcGVydHlDb25maWcocGFyKTtcbiAgICAgICAgICAgIHRoaXMucGFyZW50Q2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5oYXNPd25Qcm9wZXJ0eShwYXIuc3BsaXQoJy4nKVswXSkpIHtcbiAgICAgICAgICAgICAgICBzZXRIaWRkZW5CeVByb3BlcnR5Q29uZmlnKHBhcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1ldGEuaGlkZGVuID09PSAnY3JlYXRlJykge1xuICAgICAgICAgIHRoaXMubWV0YS4kaGlkZGVuID0gIXRoaXMuaXNQZXJzaXN0ZWRQYXJlbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tZXRhLmhpZGRlbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgICAgICB0aGlzLm1ldGEuJGhpZGRlbiA9IHRoaXMuaXNQZXJzaXN0ZWRQYXJlbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5tZXRhLiRoaWRkZW49ICEhdGhpcy5tZXRhLmhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5tZXRhLCAnJGludmlzaWJsZScsIHtcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZVxuICAgICAgfSk7XG4gICAgICBpZiAodHlwZW9mKHRoaXMubWV0YS52aXNpYmxlKSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgaWYgKHR5cGVvZih0aGlzLm1ldGEudmlzaWJsZSkgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3Qgc2V0SW52aXNpYmxlQnlQcm9wZXJ0eUNvbmZpZyA9IChwYXIpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YodGhpcy5tZXRhLnZpc2libGVbcGFyXSkgPT09ICdib29sZWFuJykgeyAvLyBhbnkgdmFsdWUgbWFrZXMgbWUgaGlkZGVuXG4gICAgICAgICAgICAgIHRoaXMubWV0YS4kaW52aXNpYmxlID0gIXRoaXMucGFyZW50W3Bhcl07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGV4dHJhY3RWYWx1ZUJ5U21hcnRQcm9wKHRoaXMucGFyZW50LCBwYXIpO1xuICAgICAgICAgICAgICBjb25zdCBwYXJWYWx1ZSA9IHZhbHVlID8gKHZhbHVlLmlkIHx8IHZhbHVlLnZhbHVlIHx8IHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICAgICAgICB0aGlzLm1ldGEuJGludmlzaWJsZSA9IHRoaXMubWV0YS52aXNpYmxlW3Bhcl0gIT09IHBhclZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgICAgZm9yIChjb25zdCBwYXIgb2YgT2JqZWN0LmtleXModGhpcy5tZXRhLnZpc2libGUpKSB7XG4gICAgICAgICAgICBzZXRJbnZpc2libGVCeVByb3BlcnR5Q29uZmlnKHBhcik7XG4gICAgICAgICAgICB0aGlzLnBhcmVudENoYW5nZVN1YmplY3Quc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuaGFzT3duUHJvcGVydHkocGFyLnNwbGl0KCcuJylbMF0pKSB7XG4gICAgICAgICAgICAgICAgc2V0SW52aXNpYmxlQnlQcm9wZXJ0eUNvbmZpZyhwYXIpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1ldGEuJGludmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMucGFyZW50W3RoaXMubWV0YS5uYW1lXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1ldGEudmlzaWJsZSA9PT0gJ2NyZWF0ZScpIHtcbiAgICAgICAgICB0aGlzLm1ldGEuJGludmlzaWJsZSA9IHRoaXMuaXNQZXJzaXN0ZWRQYXJlbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tZXRhLnZpc2libGUgPT09ICd1cGRhdGUnKSB7XG4gICAgICAgICAgdGhpcy5tZXRhLiRpbnZpc2libGUgPSAhdGhpcy5pc1BlcnNpc3RlZFBhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy50aGVtZSAhPT0gJ2luaGVyaXQnKSB7XG4gICAgICAgIGNvbnN0IG1ldGFUaGVtZSA9IHRoaXMudGhlbWUgPT09ICdkYXJrJyA/IG1ldGFEYXJrIDogbWV0YUxpZ2h0O1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtZXRhVGhlbWUucHJvcGVydGllcykpIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShrZXksIG1ldGFUaGVtZS5wcm9wZXJ0aWVzW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzT3B0aW9uYWwoKSB7XG4gICAgY29uc3QgYmFzZU9wdGlvbmFsID0gIXRoaXMubWV0YS51bnNldCAmJiAhdGhpcy52YWxpZGF0aW9ucy5yZXF1aXJlZCAmJiAhdGhpcy5tZXRhLnZpc2libGU7XG4gICAgc3dpdGNoICh0aGlzLm1ldGEudHlwZSkge1xuICAgICAgY2FzZSAnY29tcG9zaXRlJzoge1xuICAgICAgICBpZiAoYmFzZU9wdGlvbmFsKSB7XG4gICAgICAgICAgcmV0dXJuICF0aGlzLm1ldGEuZmllbGRzLmZpbmQoKGYpID0+ICFmLiRvcHRpb25hbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgY2FzZSAnbGlzdCc6IHtcbiAgICAgICAgaWYgKGJhc2VPcHRpb25hbCkge1xuICAgICAgICAgIHJldHVybiAhKHRoaXMucGFyZW50W3RoaXMubWV0YS5uYW1lXSBpbnN0YW5jZW9mIEFycmF5ICYmIHRoaXMucGFyZW50W3RoaXMubWV0YS5uYW1lXS5sZW5ndGgpICYmICF0aGlzLm1ldGEubWluO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIGJhc2VPcHRpb25hbCAmJiB0eXBlb2YodGhpcy5wYXJlbnRbdGhpcy5tZXRhLm5hbWVdKSA9PT0gJ3VuZGVmaW5lZCc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLnVpSW5wdXQ7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBpbnB1dC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG1vZGVsVG9WYWx1ZShtLCB2YWx1ZVR5cGUpIHtcbiAgICBpZiAodHlwZW9mKG0pICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgc3dpdGNoICh2YWx1ZVR5cGUpIHtcbiAgICAgICAgY2FzZSAnb2JqZWN0Jzoge1xuICAgICAgICAgIHJldHVybiBtID8geyBpZDogbS5pZCwgbGFiZWw6IG0ubGFiZWwsIHR5cGU6IG0udHlwZSB9IDogbTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdudW1iZXInOiB7XG4gICAgICAgICAgaWYgKG0gIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgdiA9IG0uaWQgfHwgbTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJldHVybiBwYXJzZUludCh2LCAxMCk7XG4gICAgICAgICAgICB9IGNhdGNoKGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBpZiAobSAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbS5pZCB8fCBtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU3ViamVjdENoYW5nZShtb2RlbCkge1xuICAgIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRoaXMucGFyZW50LCAnJGNoYW5nZVN1YmplY3QnKSkge1xuICAgICAgY29uc3QgcGFyZW50Q2hhbmdlOiBhbnkgPSB7fTtcbiAgICAgIHBhcmVudENoYW5nZVt0aGlzLm1ldGEubmFtZV0gPSBtb2RlbDtcbiAgICAgIHRoaXMucGFyZW50Q2hhbmdlU3ViamVjdC5uZXh0KHBhcmVudENoYW5nZSk7XG4gICAgfVxuICB9XG5cbiAgb25Nb2RlbENoYW5nZShtb2RlbCkge1xuICAgIC8vIFRPRE8gYWRkIHJlc291cmNlIHR5cGUgbG9naWNcbiAgICBpZiAodGhpcy5tb2RlbCBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICB0aGlzLnBhcmVudFt0aGlzLm1ldGEubmFtZV0gPSB0aGlzLm1vZGVsLm1hcCgobSkgPT4gdGhpcy5tb2RlbFRvVmFsdWUobSwgdGhpcy5tZXRhLnZhbHVlVHlwZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhcmVudFt0aGlzLm1ldGEubmFtZV0gPSB0aGlzLm1vZGVsVG9WYWx1ZShtb2RlbCwgdGhpcy5tZXRhLnZhbHVlVHlwZSk7XG4gICAgfVxuICAgIHRoaXMub25DaGFuZ2UuZW1pdChtb2RlbCk7XG4gICAgdGhpcy5vblN1YmplY3RDaGFuZ2UobW9kZWwpO1xuICAgIC8vIGNvbnNvbGUubG9nKCdvbkNoYW5nZScsIG1vZGVsKTtcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmluaXRNb3VzZUV2ZW50KCdjaGFuZ2UnLCB0cnVlLCB0cnVlLCB3aW5kb3csIDAsIDAsIDAsIDAsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCAwLCBudWxsKTtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KHRoaXMuY2hhbmdlRXZlbnQpO1xuICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLnByZXZNb2RlbCA9IHRoaXMubW9kZWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWV0YS51bnNldCA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMubWV0YS4kb3B0aW9uYWwgPSB0aGlzLmlzT3B0aW9uYWw7XG4gIH1cblxuICBnZXQgcGFyZW50Q2hhbmdlU3ViamVjdCgpIHtcbiAgICBpZiAoIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGhpcy5wYXJlbnQsICckY2hhbmdlU3ViamVjdCcpKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5wYXJlbnQsICckY2hhbmdlU3ViamVjdCcsIHtcbiAgICAgICAgdmFsdWU6IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pLnBpcGUoZGVib3VuY2VUaW1lKDMwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LiRjaGFuZ2VTdWJqZWN0O1xuICB9XG5cbiAgZ2V0IGlzUGVyc2lzdGVkUGFyZW50KCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgIHJldHVybiB0aGlzLnBhcmVudCAmJiB0aGlzLnBhcmVudC5fdmdpcyAmJiAodGhpcy5wYXJlbnQuX3ZnaXMuZXh0ZXJuYWxJZCB8fCB0aGlzLnBhcmVudC5fdmdpcy5pZCApO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgZGVsZXRlIHRoaXMubW9kZWw7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlKHRoaXMubW9kZWwpO1xuICB9XG5cbiAgZ2V0IHZhbGlkYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGEudmFsaWRhdGlvbnMgfHwge307XG4gIH1cblxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gKHR5cGVvZiAodGhpcy5pbmRleCkgPT09ICd1bmRlZmluZWQnKSA/IHRoaXMubWV0YS5uYW1lIDogYCR7dGhpcy5tZXRhLm5hbWV9WyR7dGhpcy5pbmRleH1dYDtcbiAgfVxuXG4gIGdldCBkZWZhdWx0KCkge1xuICAgIHJldHVybiB0aGlzLm1ldGEuZGVmYXVsdCB8fCB0aGlzLm1ldGEuZGVmYXVsdFZhbHVlO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIC8vIFRPRE8gY29uZGl0aW9uc1xuICAgIHJldHVybiB0aGlzLmxvZ2ljYWxEaXNhYmxlZCB8fCB0aGlzLnZhbGlkYXRpb25zLmRpc2FibGVkIHx8IHRoaXMubWV0YS5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCB0aGlzLmZsYWdzLmRpc2FibGVkXG4gICAgICB8fCAodGhpcy5mbGFncy51cGRhdGFibGUgPT09IGZhbHNlICYmIHRoaXMuaXNQZXJzaXN0ZWRQYXJlbnQpO1xuICB9XG5cbiAgZ2V0IHJlYWRvbmx5KCkge1xuICAgIC8vIFRPRE8gY29uZGl0aW9uc1xuICAgIHJldHVybiAhISh0aGlzLnZhbGlkYXRpb25zLnJlYWRvbmx5IHx8IHRoaXMubWV0YS5yZWFkb25seSB8fCAodGhpcy5mbGFncy51cGRhdGFibGUgPT09IGZhbHNlKSk7XG4gIH1cblxuICBnZXQgc2VuZFRvU2VydmVyKCkge1xuICAgIHJldHVybiB0aGlzLmlzUGVyc2lzdGVkUGFyZW50ID8gKHRoaXMuZmxhZ3MudXBkYXRhYmxlICE9PSBmYWxzZSkgOiAodGhpcy5mbGFncy5jcmVhdGFibGUgIT09IGZhbHNlKTtcbiAgfVxuXG4gIGdldCB1aUlucHV0KCkge1xuICAgIGlmICghdGhpcy5tYWluSW5wdXQpIHtcbiAgICAgIHRoaXMubWFpbklucHV0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm1haW46bm90KFt0eXBlPVwiaGlkZGVuXCJdKTpub3QoLnN0YW5kYWxvbmUpJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1haW5JbnB1dDtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlWYWxpZGF0aW9ucygpIHtcbiAgICB0aGlzLnZhbGlkYXRpb25BdHRyaWJ1dGVzLmZvckVhY2goKGF0dHJpYnV0ZSkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdGlvbiA9IHRoaXMudmFsaWRhdGlvbnNbYXR0cmlidXRlXTtcbiAgICAgIGlmICh2YWxpZGF0aW9uKSB7XG4gICAgICAgIHRoaXMubW9kZWxJbnB1dC5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWxpZGF0aW9uLnZhbHVlIHx8IHZhbGlkYXRpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cblxuZXhwb3J0IGNsYXNzIE1ldGFFbGVtIHtcbiAgY3NzZWxlbTogc3RyaW5nO1xuICBtZXRhOiBhbnk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNZXRhRWxlbURpc2FibGVhZGJsZSBpbXBsZW1lbnRzIE1ldGFFbGVtIHtcbiAgY3NzbW9kaWZpZXI6IHN0cmluZztcbiAgYWJzdHJhY3QgbWV0YTogYW55O1xuICBhYnN0cmFjdCBjc3NlbGVtOiBzdHJpbmc7XG4gIGFic3RyYWN0IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gIGRpc2FibGUoKSB7XG4gICAgY29uc29sZS5sb2codGhpcy5jc3Ntb2RpZmllcik7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmNzc21vZGlmaWVyKTtcbiAgfVxufVxuXG4iXX0=
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRBYnN0cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21ldGEtdWkvc3JjL2xpYi9maWVsZEFic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUEyQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYseURBQXlEO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBUXhFLGtFQUFrRTtBQUNsRSxNQUFNLE9BQWdCLGFBQWE7SUFGbkM7UUFpQkUseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBRzFCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixVQUFLLEdBQVEsRUFBRSxDQUFDO0tBb1FqQjtJQWxRQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFFeEMsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssT0FBTyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLG1CQUFtQixDQUFDO2FBQzVDO2lCQUFNO2dCQUNMLFFBQVEsSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDNUIsS0FBSyxXQUFXO3dCQUNkLElBQUksQ0FBQyxlQUFlLEdBQUcseUJBQXlCLENBQUM7d0JBQ2pELE1BQU07b0JBQ1IsS0FBSyxPQUFPO3dC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LElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxDQUFDO2FBQ3pFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswR0F6Um1CLGFBQWE7OEZBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUZsQyxTQUFTOztBQStSVixNQUFNLE9BQU8sUUFBUTtDQUdwQjtBQUVELE1BQU0sT0FBZ0Isb0JBQW9CO0lBS3hDLE9BQU87UUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQEF1dGhvcjogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBEYXRlOiAyMDE5LTA5LTE5IDE3OjM0OjQ0XG4gKiBATGFzdCBNb2RpZmllZCBieTogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDQtMTggMjE6MTg6MDhcbiAqL1xuXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBFdmVudEVtaXR0ZXIsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBtZXRhRGFyaywgbWV0YUxpZ2h0IH0gZnJvbSAnLi9jb21tb24vdXRpbHMvY29sb3JUaGVtZXMnO1xuaW1wb3J0IHsgZXh0cmFjdFZhbHVlQnlTbWFydFByb3AgfSBmcm9tICcuLi9saWIvY29tbW9uL3V0aWxzL3NtYXJ0UHJvcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1ldGFGaWVsZDxUIGV4dGVuZHMgRmllbGRBYnN0cmFjdD4ge1xuICBtZXRhOiBhbnk7XG4gIG1vZGVsOiBhbnk7XG59XG5cbkBEaXJlY3RpdmUoKVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQgeyAvLyBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgbW9kZWw6IGFueTtcbiAgbWV0YTogYW55O1xuICBpbmRleDogbnVtYmVyO1xuICBwYXJlbnQ6IGFueTtcbiAgaW50ZWdyYXRpb25Db2RlOiBzdHJpbmc7XG4gIGludGVncmF0aW9uSWNvbjogc3RyaW5nO1xuICByZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgbW9kZWxJbnB1dDogSFRNTElucHV0RWxlbWVudDtcbiAgbW9kZWxDb250cm9sOiBIVE1MSW5wdXRFbGVtZW50O1xuICBtYWluSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gIGtleUxpc3RlbmVyQWN0aXZlOiBib29sZWFuO1xuICBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT47XG4gIG9uTGVhdmU6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICB2YWxpZGF0aW9uQXR0cmlidXRlcyA9IFtdO1xuICBwcmV2aWV3OiBib29sZWFuO1xuICBwcmV2TW9kZWw6IGFueTtcbiAgY2hhbmdlRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnTW91c2VFdmVudHMnKTtcbiAgbWV0YVJlc291cmNlU2VydmljZTogYW55O1xuICBsb2dpY2FsRGlzYWJsZWQgPSBmYWxzZTtcbiAgdGhlbWU6IHN0cmluZztcbiAgZmxhZ3M6IGFueSA9IHt9O1xuXG4gIHN0YXRpYyBzZXR1cChpbnN0YW5jZSwgcGFyZW50LCBtZXRhKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuZWxlbWVudFJlZikge1xuICAgICAgaWYgKHRoaXMuaW50ZWdyYXRpb25Db2RlID09PSAnbW9ja3MnKSB7XG4gICAgICAgIHRoaXMuaW50ZWdyYXRpb25JY29uID0gJ0JyYW5kLWljb24tdm9uYWdlJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5pbnRlZ3JhdGlvbkNvZGUpIHtcbiAgICAgICAgICBjYXNlICdvZmZpY2UzNjUnOlxuICAgICAgICAgICAgdGhpcy5pbnRlZ3JhdGlvbkljb24gPSAnQnJhbmQtaWNvbi1vZmZpY2UtY29sb3InO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnc3VnYXInOlxuICAgICAgICAgICAgdGhpcy5pbnRlZ3JhdGlvbkljb24gPSAnQnJhbmQtaWNvbi1zdWdhcmNybS1jb2xvcic7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtc2R5bmFtaWNzJzpcbiAgICAgICAgICAgIHRoaXMuaW50ZWdyYXRpb25JY29uID0gJ0JyYW5kLWljb24tZHluYW1pY3MtY29sb3InO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRoaXMuaW50ZWdyYXRpb25JY29uID0gYEJyYW5kLWljb24tJHsodGhpcy5pbnRlZ3JhdGlvbkNvZGUgfHwgJycpLnRvTG93ZXJDYXNlKCl9LWNvbG9yYDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMubWV0YSwgJyRvcHRpb25hbCcsIHtcbiAgICAgICAgdmFsdWU6ICh0eXBlb2YodGhpcy5kZWZhdWx0KSA9PT0gJ3VuZGVmaW5lZCcpICYmIHRoaXMuaXNPcHRpb25hbCxcbiAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICAgIH0pO1xuICAgICAgdGhpcy5mbGFncyA9IHRoaXMubWV0YS5mbGFncyB8fCB7fTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLm1ldGEsICckaGlkZGVuJywge1xuICAgICAgICB2YWx1ZTogIXRoaXMuaXNQZXJzaXN0ZWRQYXJlbnQgJiYgdGhpcy5mbGFncy5jcmVhdGFibGUgPT09IGZhbHNlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZVxuICAgICAgfSk7XG4gICAgICBpZiAodHlwZW9mKHRoaXMubWV0YS5oaWRkZW4pICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBpZiAodHlwZW9mKHRoaXMubWV0YS5oaWRkZW4pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGNvbnN0IHNldEhpZGRlbkJ5UHJvcGVydHlDb25maWcgPSAocGFyKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mKHRoaXMubWV0YS5oaWRkZW5bcGFyXSkgPT09ICdib29sZWFuJykgeyAvLyBhbnkgdmFsdWUgbWFrZXMgbWUgaGlkZGVuXG4gICAgICAgICAgICAgIHRoaXMubWV0YS4kaGlkZGVuID0gISF0aGlzLnBhcmVudFtwYXJdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBleHRyYWN0VmFsdWVCeVNtYXJ0UHJvcCh0aGlzLnBhcmVudCwgcGFyKTtcbiAgICAgICAgICAgICAgY29uc3QgcGFyVmFsdWUgPSB2YWx1ZSA/ICh2YWx1ZS5pZCB8fCB2YWx1ZS52YWx1ZSB8fCB2YWx1ZSkgOiB2YWx1ZTtcbiAgICAgICAgICAgICAgdGhpcy5tZXRhLiRoaWRkZW4gPSB0aGlzLm1ldGEuaGlkZGVuW3Bhcl0gPT09IHBhclZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgICAgZm9yIChjb25zdCBwYXIgb2YgT2JqZWN0LmtleXModGhpcy5tZXRhLmhpZGRlbikpIHtcbiAgICAgICAgICAgIHNldEhpZGRlbkJ5UHJvcGVydHlDb25maWcocGFyKTtcbiAgICAgICAgICAgIHRoaXMucGFyZW50Q2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5oYXNPd25Qcm9wZXJ0eShwYXIuc3BsaXQoJy4nKVswXSkpIHtcbiAgICAgICAgICAgICAgICBzZXRIaWRkZW5CeVByb3BlcnR5Q29uZmlnKHBhcik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWV0YS4kaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5wYXJlbnRbdGhpcy5tZXRhLm5hbWVdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZih0aGlzLm1ldGEuaGlkZGVuKSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAodGhpcy5tZXRhLmhpZGRlbi50b1VwcGVyQ2FzZSgpID09PSAnQ1JFQVRFJykge1xuICAgICAgICAgICAgdGhpcy5tZXRhLiRoaWRkZW4gPSAhdGhpcy5pc1BlcnNpc3RlZFBhcmVudDtcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWV0YS5oaWRkZW4udG9VcHBlckNhc2UoKSA9PT0gJ1VQREFURScpIHtcbiAgICAgICAgICAgIHRoaXMubWV0YS4kaGlkZGVuID0gdGhpcy5pc1BlcnNpc3RlZFBhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5tZXRhLiRoaWRkZW49ICEhdGhpcy5tZXRhLmhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5tZXRhLCAnJGludmlzaWJsZScsIHtcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZVxuICAgICAgfSk7XG4gICAgICBpZiAodHlwZW9mKHRoaXMubWV0YS52aXNpYmxlKSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgaWYgKHR5cGVvZih0aGlzLm1ldGEudmlzaWJsZSkgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgY29uc3Qgc2V0SW52aXNpYmxlQnlQcm9wZXJ0eUNvbmZpZyA9IChwYXIpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YodGhpcy5tZXRhLnZpc2libGVbcGFyXSkgPT09ICdib29sZWFuJykgeyAvLyBhbnkgdmFsdWUgbWFrZXMgbWUgaGlkZGVuXG4gICAgICAgICAgICAgIHRoaXMubWV0YS4kaW52aXNpYmxlID0gIXRoaXMucGFyZW50W3Bhcl07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGV4dHJhY3RWYWx1ZUJ5U21hcnRQcm9wKHRoaXMucGFyZW50LCBwYXIpO1xuICAgICAgICAgICAgICBjb25zdCBwYXJWYWx1ZSA9IHZhbHVlID8gKHZhbHVlLmlkIHx8IHZhbHVlLnZhbHVlIHx8IHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICAgICAgICB0aGlzLm1ldGEuJGludmlzaWJsZSA9IHRoaXMubWV0YS52aXNpYmxlW3Bhcl0gIT09IHBhclZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgICAgZm9yIChjb25zdCBwYXIgb2YgT2JqZWN0LmtleXModGhpcy5tZXRhLnZpc2libGUpKSB7XG4gICAgICAgICAgICBzZXRJbnZpc2libGVCeVByb3BlcnR5Q29uZmlnKHBhcik7XG4gICAgICAgICAgICB0aGlzLnBhcmVudENoYW5nZVN1YmplY3Quc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuaGFzT3duUHJvcGVydHkocGFyLnNwbGl0KCcuJylbMF0pKSB7XG4gICAgICAgICAgICAgICAgc2V0SW52aXNpYmxlQnlQcm9wZXJ0eUNvbmZpZyhwYXIpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1ldGEuJGludmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMucGFyZW50W3RoaXMubWV0YS5uYW1lXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YodGhpcy5tZXRhLnZpc2libGUpID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGlmICh0aGlzLm1ldGEudmlzaWJsZS50b1VwcGVyQ2FzZSgpID09PSAnQ1JFQVRFJykge1xuICAgICAgICAgICAgdGhpcy5tZXRhLiRpbnZpc2libGUgPSB0aGlzLmlzUGVyc2lzdGVkUGFyZW50O1xuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5tZXRhLnZpc2libGUudG9VcHBlckNhc2UoKSA9PT0gJ1VQREFURScpIHtcbiAgICAgICAgICAgIHRoaXMubWV0YS4kaW52aXNpYmxlID0gIXRoaXMuaXNQZXJzaXN0ZWRQYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnRoZW1lICE9PSAnaW5oZXJpdCcpIHtcbiAgICAgICAgY29uc3QgbWV0YVRoZW1lID0gdGhpcy50aGVtZSA9PT0gJ2RhcmsnID8gbWV0YURhcmsgOiBtZXRhTGlnaHQ7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG1ldGFUaGVtZS5wcm9wZXJ0aWVzKSkge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGtleSwgbWV0YVRoZW1lLnByb3BlcnRpZXNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgaXNPcHRpb25hbCgpIHtcbiAgICBjb25zdCBiYXNlT3B0aW9uYWwgPSAhdGhpcy5tZXRhLnVuc2V0ICYmICF0aGlzLnZhbGlkYXRpb25zLnJlcXVpcmVkICYmICF0aGlzLm1ldGEudmlzaWJsZTtcbiAgICBzd2l0Y2ggKHRoaXMubWV0YS50eXBlKSB7XG4gICAgICBjYXNlICdjb21wb3NpdGUnOiB7XG4gICAgICAgIGlmIChiYXNlT3B0aW9uYWwpIHtcbiAgICAgICAgICByZXR1cm4gIXRoaXMubWV0YS5maWVsZHMuZmluZCgoZikgPT4gIWYuJG9wdGlvbmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBjYXNlICdsaXN0Jzoge1xuICAgICAgICBpZiAoYmFzZU9wdGlvbmFsKSB7XG4gICAgICAgICAgcmV0dXJuICEodGhpcy5wYXJlbnRbdGhpcy5tZXRhLm5hbWVdIGluc3RhbmNlb2YgQXJyYXkgJiYgdGhpcy5wYXJlbnRbdGhpcy5tZXRhLm5hbWVdLmxlbmd0aCkgJiYgIXRoaXMubWV0YS5taW47XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm4gYmFzZU9wdGlvbmFsICYmIHR5cGVvZih0aGlzLnBhcmVudFt0aGlzLm1ldGEubmFtZV0pID09PSAndW5kZWZpbmVkJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb2N1cygpIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMudWlJbnB1dDtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgbW9kZWxUb1ZhbHVlKG0sIHZhbHVlVHlwZSkge1xuICAgIGlmICh0eXBlb2YobSkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBzd2l0Y2ggKHZhbHVlVHlwZSkge1xuICAgICAgICBjYXNlICdvYmplY3QnOiB7XG4gICAgICAgICAgcmV0dXJuIG0gPyB7IGlkOiBtLmlkLCBsYWJlbDogbS5sYWJlbCwgdHlwZTogbS50eXBlIH0gOiBtO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgICBpZiAobSAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCB2ID0gbS5pZCB8fCBtO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHYsIDEwKTtcbiAgICAgICAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIGlmIChtICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBtLmlkIHx8IG07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25TdWJqZWN0Q2hhbmdlKG1vZGVsKSB7XG4gICAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGhpcy5wYXJlbnQsICckY2hhbmdlU3ViamVjdCcpKSB7XG4gICAgICBjb25zdCBwYXJlbnRDaGFuZ2U6IGFueSA9IHt9O1xuICAgICAgcGFyZW50Q2hhbmdlW3RoaXMubWV0YS5uYW1lXSA9IG1vZGVsO1xuICAgICAgdGhpcy5wYXJlbnRDaGFuZ2VTdWJqZWN0Lm5leHQocGFyZW50Q2hhbmdlKTtcbiAgICB9XG4gIH1cblxuICBvbk1vZGVsQ2hhbmdlKG1vZGVsKSB7XG4gICAgLy8gVE9ETyBhZGQgcmVzb3VyY2UgdHlwZSBsb2dpY1xuICAgIGlmICh0aGlzLm1vZGVsIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgIHRoaXMucGFyZW50W3RoaXMubWV0YS5uYW1lXSA9IHRoaXMubW9kZWwubWFwKChtKSA9PiB0aGlzLm1vZGVsVG9WYWx1ZShtLCB0aGlzLm1ldGEudmFsdWVUeXBlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFyZW50W3RoaXMubWV0YS5uYW1lXSA9IHRoaXMubW9kZWxUb1ZhbHVlKG1vZGVsLCB0aGlzLm1ldGEudmFsdWVUeXBlKTtcbiAgICB9XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KG1vZGVsKTtcbiAgICB0aGlzLm9uU3ViamVjdENoYW5nZShtb2RlbCk7XG4gICAgLy8gY29uc29sZS5sb2coJ29uQ2hhbmdlJywgbW9kZWwpO1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuaW5pdE1vdXNlRXZlbnQoJ2NoYW5nZScsIHRydWUsIHRydWUsIHdpbmRvdywgMCwgMCwgMCwgMCwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIDAsIG51bGwpO1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQodGhpcy5jaGFuZ2VFdmVudCk7XG4gICAgaWYgKHRoaXMubW9kZWwpIHtcbiAgICAgIHRoaXMucHJldk1vZGVsID0gdGhpcy5tb2RlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tZXRhLnVuc2V0ID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5tZXRhLiRvcHRpb25hbCA9IHRoaXMuaXNPcHRpb25hbDtcbiAgfVxuXG4gIGdldCBwYXJlbnRDaGFuZ2VTdWJqZWN0KCkge1xuICAgIGlmICghT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0aGlzLnBhcmVudCwgJyRjaGFuZ2VTdWJqZWN0JykpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLnBhcmVudCwgJyRjaGFuZ2VTdWJqZWN0Jywge1xuICAgICAgICB2YWx1ZTogbmV3IEJlaGF2aW9yU3ViamVjdCh7fSkucGlwZShkZWJvdW5jZVRpbWUoMzAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuJGNoYW5nZVN1YmplY3Q7XG4gIH1cblxuICBnZXQgaXNQZXJzaXN0ZWRQYXJlbnQoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgcmV0dXJuIHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50Ll92Z2lzICYmICh0aGlzLnBhcmVudC5fdmdpcy5leHRlcm5hbElkIHx8IHRoaXMucGFyZW50Ll92Z2lzLmlkICk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBkZWxldGUgdGhpcy5tb2RlbDtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodGhpcy5tb2RlbCk7XG4gIH1cblxuICBnZXQgdmFsaWRhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YS52YWxpZGF0aW9ucyB8fCB7fTtcbiAgfVxuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiAodHlwZW9mICh0aGlzLmluZGV4KSA9PT0gJ3VuZGVmaW5lZCcpID8gdGhpcy5tZXRhLm5hbWUgOiBgJHt0aGlzLm1ldGEubmFtZX1bJHt0aGlzLmluZGV4fV1gO1xuICB9XG5cbiAgZ2V0IGRlZmF1bHQoKSB7XG4gICAgcmV0dXJuIHRoaXMubWV0YS5kZWZhdWx0IHx8IHRoaXMubWV0YS5kZWZhdWx0VmFsdWU7XG4gIH1cblxuICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgLy8gVE9ETyBjb25kaXRpb25zXG4gICAgcmV0dXJuIHRoaXMubG9naWNhbERpc2FibGVkIHx8IHRoaXMudmFsaWRhdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5tZXRhLmRpc2FibGVkID09PSB0cnVlIHx8IHRoaXMuZmxhZ3MuZGlzYWJsZWRcbiAgICAgIHx8ICh0aGlzLmZsYWdzLnVwZGF0YWJsZSA9PT0gZmFsc2UgJiYgdGhpcy5pc1BlcnNpc3RlZFBhcmVudCk7XG4gIH1cblxuICBnZXQgcmVhZG9ubHkoKSB7XG4gICAgLy8gVE9ETyBjb25kaXRpb25zXG4gICAgcmV0dXJuICEhKHRoaXMudmFsaWRhdGlvbnMucmVhZG9ubHkgfHwgdGhpcy5tZXRhLnJlYWRvbmx5IHx8ICh0aGlzLmZsYWdzLnVwZGF0YWJsZSA9PT0gZmFsc2UpKTtcbiAgfVxuXG4gIGdldCBzZW5kVG9TZXJ2ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNQZXJzaXN0ZWRQYXJlbnQgPyAodGhpcy5mbGFncy51cGRhdGFibGUgIT09IGZhbHNlKSA6ICh0aGlzLmZsYWdzLmNyZWF0YWJsZSAhPT0gZmFsc2UpO1xuICB9XG5cbiAgZ2V0IHVpSW5wdXQoKSB7XG4gICAgaWYgKCF0aGlzLm1haW5JbnB1dCkge1xuICAgICAgdGhpcy5tYWluSW5wdXQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubWFpbjpub3QoW3R5cGU9XCJoaWRkZW5cIl0pOm5vdCguc3RhbmRhbG9uZSknKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWFpbklucHV0O1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVZhbGlkYXRpb25zKCkge1xuICAgIHRoaXMudmFsaWRhdGlvbkF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cmlidXRlKSA9PiB7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uID0gdGhpcy52YWxpZGF0aW9uc1thdHRyaWJ1dGVdO1xuICAgICAgaWYgKHZhbGlkYXRpb24pIHtcbiAgICAgICAgdGhpcy5tb2RlbElucHV0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIHZhbGlkYXRpb24udmFsdWUgfHwgdmFsaWRhdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuXG5leHBvcnQgY2xhc3MgTWV0YUVsZW0ge1xuICBjc3NlbGVtOiBzdHJpbmc7XG4gIG1ldGE6IGFueTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1ldGFFbGVtRGlzYWJsZWFkYmxlIGltcGxlbWVudHMgTWV0YUVsZW0ge1xuICBjc3Ntb2RpZmllcjogc3RyaW5nO1xuICBhYnN0cmFjdCBtZXRhOiBhbnk7XG4gIGFic3RyYWN0IGNzc2VsZW06IHN0cmluZztcbiAgYWJzdHJhY3QgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgZGlzYWJsZSgpIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmNzc21vZGlmaWVyKTtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY3NzbW9kaWZpZXIpO1xuICB9XG59XG5cbiJdfQ==
@@ -792,15 +792,14 @@ const metaNormalizer = (meta, integration, resourceType) => {
792
792
  if (resourceType === 'CandidateNote' || resourceType === 'ContactNote') {
793
793
  metaV3.layout.editable = false;
794
794
  }
795
- }
796
- else if (integrationCode === 'CLIO') {
797
- if (resourceType === 'PhoneCommunication') {
798
- for (const f of metaV3.layout.sections[0].fields) {
799
- if (f.name === 'time_entries') {
800
- f.hidden = 'update';
801
- }
802
- }
803
- }
795
+ // } else if (integrationCode === 'CLIO') {
796
+ // if (resourceType === 'PhoneCommunication') {
797
+ // for (const f of metaV3.layout.sections[0].fields) {
798
+ // if (f.name === 'time_entries') {
799
+ // f.visible = 'CREATE';
800
+ // }
801
+ // }
802
+ // }
804
803
  }
805
804
  return sortObj(metaV3);
806
805
  };
@@ -979,15 +978,20 @@ class FieldAbstract {
979
978
  this.parentChangeSubject.subscribe((value) => {
980
979
  if (value && value.hasOwnProperty(par.split('.')[0])) {
981
980
  setHiddenByPropertyConfig(par);
981
+ if (this.meta.$hidden) {
982
+ delete this.parent[this.meta.name];
983
+ }
982
984
  }
983
985
  });
984
986
  }
985
987
  }
986
- else if (this.meta.hidden === 'create') {
987
- this.meta.$hidden = !this.isPersistedParent;
988
- }
989
- else if (this.meta.hidden === 'update') {
990
- this.meta.$hidden = this.isPersistedParent;
988
+ else if (typeof (this.meta.hidden) === 'string') {
989
+ if (this.meta.hidden.toUpperCase() === 'CREATE') {
990
+ this.meta.$hidden = !this.isPersistedParent;
991
+ }
992
+ else if (this.meta.hidden.toUpperCase() === 'UPDATE') {
993
+ this.meta.$hidden = this.isPersistedParent;
994
+ }
991
995
  }
992
996
  else {
993
997
  this.meta.$hidden = !!this.meta.hidden;
@@ -1023,11 +1027,13 @@ class FieldAbstract {
1023
1027
  });
1024
1028
  }
1025
1029
  }
1026
- else if (this.meta.visible === 'create') {
1027
- this.meta.$invisible = this.isPersistedParent;
1028
- }
1029
- else if (this.meta.visible === 'update') {
1030
- this.meta.$invisible = !this.isPersistedParent;
1030
+ else if (typeof (this.meta.visible) === 'string') {
1031
+ if (this.meta.visible.toUpperCase() === 'CREATE') {
1032
+ this.meta.$invisible = this.isPersistedParent;
1033
+ }
1034
+ else if (this.meta.visible.toUpperCase() === 'UPDATE') {
1035
+ this.meta.$invisible = !this.isPersistedParent;
1036
+ }
1031
1037
  }
1032
1038
  }
1033
1039
  if (this.theme !== 'inherit') {