valtech-components 4.0.371 → 4.0.373

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.
@@ -233,10 +233,14 @@ function getPowerMoves(state, piece, animal) {
233
233
  function getKangarooMoves(state, piece) {
234
234
  const moves = [];
235
235
  const jumps = [
236
- { row: -2, col: 0 },
237
- { row: 0, col: 2 },
238
- { row: 2, col: 0 },
239
- { row: 0, col: -2 },
236
+ { row: -2, col: -1 },
237
+ { row: -2, col: 1 },
238
+ { row: -1, col: -2 },
239
+ { row: -1, col: 2 },
240
+ { row: 1, col: -2 },
241
+ { row: 1, col: 2 },
242
+ { row: 2, col: -1 },
243
+ { row: 2, col: 1 },
240
244
  ];
241
245
  for (const jump of jumps) {
242
246
  const target = {
@@ -448,4 +452,4 @@ function otherColor(color) {
448
452
  function createLocalId() {
449
453
  return `local-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
450
454
  }
451
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlc3NpbWFscy1lbmdpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvY2hlc3NpbWFscy1lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsTUFBTSxPQUFPLEdBQTJCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFTOUUsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxZQUFpQyxDQUFDLEVBQ2xDLFVBQXVDLEVBQUU7SUFFekMsTUFBTSxNQUFNLEdBQXNCLEVBQUUsQ0FBQztJQUNyQyxNQUFNLFFBQVEsR0FBRyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztJQUVuQixLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsRUFBRSxFQUFFLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRTtZQUNqQixLQUFLLEVBQUUsT0FBTztZQUNkLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ2hDLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDVixFQUFFLEVBQUUsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLEtBQUssRUFBRSxPQUFPO1lBQ2QsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDaEMsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sNkJBQTZCLENBQUM7UUFDbkMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFF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QUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzVDLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUE0QjtJQUM5QyxPQUFPLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQy9DLENBQUM7QUFFRCxTQUFTLGFBQWE7SUFDcEIsT0FBTyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoZXNzaW1hbHNBbmltYWxUeXBlLFxuICBDaGVzc2ltYWxzQm90RGlmZmljdWx0eSxcbiAgQ2hlc3NpbWFsc0JvYXJkU2l6ZSxcbiAgQ2hlc3NpbWFsc0dhbWVNb2RlLFxuICBDaGVzc2ltYWxzR2FtZVN0YXRlLFxuICBDaGVzc2ltYWxzR2FtZVN0YXR1cyxcbiAgQ2hlc3NpbWFsc01vdmUsXG4gIENoZXNzaW1hbHNPbmxpbmVTdGF0ZSxcbiAgQ2hlc3NpbWFsc1BpZWNlLFxuICBDaGVzc2ltYWxzUGxheWVyQ29sb3IsXG4gIENoZXNzaW1hbHNQb3NpdGlvbixcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IEFOSU1BTFM6IENoZXNzaW1hbHNBbmltYWxUeXBlW10gPSBbJ2VhZ2xlJywgJ2J1bGwnLCAna2FuZ2Fyb28nLCAnbGlvbiddO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNoZXNzaW1hbHNHYW1lT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xuICBtb2RlPzogQ2hlc3NpbWFsc0dhbWVNb2RlO1xuICBzdGF0dXM/OiBDaGVzc2ltYWxzR2FtZVN0YXR1cztcbiAgb25saW5lPzogQ2hlc3NpbWFsc09ubGluZVN0YXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2hlc3NpbWFsc0dhbWUoXG4gIGJvYXJkU2l6ZTogQ2hlc3NpbWFsc0JvYXJkU2l6ZSA9IDYsXG4gIG9wdGlvbnM6IENyZWF0ZUNoZXNzaW1hbHNHYW1lT3B0aW9ucyA9IHt9LFxuKTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSB7XG4gIGNvbnN0IHBpZWNlczogQ2hlc3NpbWFsc1BpZWNlW10gPSBbXTtcbiAgY29uc3Qgd2hpdGVSb3cgPSBib2FyZFNpemUgLSAyO1xuICBjb25zdCBibGFja1JvdyA9IDE7XG5cbiAgZm9yIChsZXQgY29sID0gMDsgY29sIDwgYm9hcmRTaXplOyBjb2wgKz0gMSkge1xuICAgIHBpZWNlcy5wdXNoKHtcbiAgICAgIGlkOiBgVyR7Y29sICsgMX1gLFxuICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICBwb3NpdGlvbjogeyByb3c6IHdoaXRlUm93LCBjb2wgfSxcbiAgICAgIGNhcHR1cmVkOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwaWVjZXMucHVzaCh7XG4gICAgICBpZDogYEIke2NvbCArIDF9YCxcbiAgICAgIGNvbG9yOiAnYmxhY2snLFxuICAgICAgcG9zaXRpb246IHsgcm93OiBibGFja1JvdywgY29sIH0sXG4gICAgICBjYXB0dXJlZDogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVmcmVzaENoZXNzaW1hbHNQb3dlclVubG9ja3Moe1xuICAgIGlkOiBvcHRpb25zLmlkID8/IGNyZWF0ZUxvY2FsSWQoKSxcbiAgICBtb2RlOiBvcHRpb25zLm1vZGUgPz8gJ2xvY2FsJyxcbiAgICBib2FyZFNpemUsXG4gICAgc3RhdHVzOiBvcHRpb25zLnN0YXR1cyA/PyAnaW5fcHJvZ3Jlc3MnLFxuICAgIGN1cnJlbnRUdXJuOiAnd2hpdGUnLFxuICAgIHBpZWNlcyxcbiAgICBwbGF5ZXJzOiB7XG4gICAgICB3aGl0ZTogeyBjb2xvcjogJ3doaXRlJywgcG93ZXJVbmxvY2tlZDogZmFsc2UsIGNhcmRzOiBjcmVhdGVDYXJkcygpIH0sXG4gICAgICBibGFjazogeyBjb2xvcjogJ2JsYWNrJywgcG93ZXJVbmxvY2tlZDogZmFsc2UsIGNhcmRzOiBjcmVhdGVDYXJkcygpIH0sXG4gICAgfSxcbiAgICBtb3ZlQ291bnQ6IDAsXG4gICAgb25saW5lOiBvcHRpb25zLm9ubGluZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGVzc2ltYWxzUGllY2VBdChcbiAgc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsXG4gIHBvc2l0aW9uOiBDaGVzc2ltYWxzUG9zaXRpb24sXG4pOiBDaGVzc2ltYWxzUGllY2UgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYWN0aXZlUGllY2VzKHN0YXRlKS5maW5kKFxuICAgIChwaWVjZSkgPT5cbiAgICAgICFwaWVjZS5jYXB0dXJlZCAmJiBwaWVjZS5wb3NpdGlvbi5yb3cgPT09IHBvc2l0aW9uLnJvdyAmJiBwaWVjZS5wb3NpdGlvbi5jb2wgPT09IHBvc2l0aW9uLmNvbCxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENoZXNzaW1hbHNMZWdhbE1vdmVzKFxuICBzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSxcbiAgcGllY2VJZDogc3RyaW5nLFxuICBhbmltYWw/OiBDaGVzc2ltYWxzQW5pbWFsVHlwZSxcbik6IENoZXNzaW1hbHNNb3ZlW10ge1xuICBpZiAoc3RhdGUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnKSByZXR1cm4gW107XG5cbiAgY29uc3QgcGllY2UgPSBhY3RpdmVQaWVjZXMoc3RhdGUpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHBpZWNlSWQgJiYgIWl0ZW0uY2FwdHVyZWQpO1xuICBpZiAoIXBpZWNlIHx8IHBpZWNlLmNvbG9yICE9PSBzdGF0ZS5jdXJyZW50VHVybikgcmV0dXJuIFtdO1xuXG4gIGlmIChhbmltYWwpIHtcbiAgICBjb25zdCBwbGF5ZXIgPSBzdGF0ZS5wbGF5ZXJzW3BpZWNlLmNvbG9yXTtcbiAgICBpZiAoIXBsYXllci5wb3dlclVubG9ja2VkIHx8IHBsYXllci5jYXJkc1thbmltYWxdLnVzZWQpIHJldHVybiBbXTtcbiAgICByZXR1cm4gZ2V0UG93ZXJNb3ZlcyhzdGF0ZSwgcGllY2UsIGFuaW1hbCk7XG4gIH1cblxuICByZXR1cm4gZ2V0QmFzaWNNb3ZlcyhzdGF0ZSwgcGllY2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2hlc3NpbWFsc0FsbExlZ2FsTW92ZXMoXG4gIHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlLFxuICBjb2xvcjogQ2hlc3NpbWFsc1BsYXllckNvbG9yID0gc3RhdGUuY3VycmVudFR1cm4sXG4pOiBDaGVzc2ltYWxzTW92ZVtdIHtcbiAgaWYgKHN0YXRlLnN0YXR1cyAhPT0gJ2luX3Byb2dyZXNzJykgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IHR1cm5TdGF0ZSA9IGNvbG9yID09PSBzdGF0ZS5jdXJyZW50VHVybiA/IHN0YXRlIDogeyAuLi5zdGF0ZSwgY3VycmVudFR1cm46IGNvbG9yIH07XG4gIGNvbnN0IHBsYXllciA9IHR1cm5TdGF0ZS5wbGF5ZXJzW2NvbG9yXTtcbiAgY29uc3QgbW92ZXM6IENoZXNzaW1hbHNNb3ZlW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHBpZWNlIG9mIGFjdGl2ZVBpZWNlcyh0dXJuU3RhdGUpKSB7XG4gICAgaWYgKHBpZWNlLmNhcHR1cmVkIHx8IHBpZWNlLmNvbG9yICE9PSBjb2xvcikgY29udGludWU7XG5cbiAgICBtb3Zlcy5wdXNoKC4uLmdldENoZXNzaW1hbHNMZWdhbE1vdmVzKHR1cm5TdGF0ZSwgcGllY2UuaWQpKTtcbiAgICBpZiAoIXBsYXllci5wb3dlclVubG9ja2VkKSBjb250aW51ZTtcblxuICAgIGZvciAoY29uc3QgYW5pbWFsIG9mIEFOSU1BTFMpIHtcbiAgICAgIGlmIChwbGF5ZXIuY2FyZHNbYW5pbWFsXS51c2VkKSBjb250aW51ZTtcbiAgICAgIG1vdmVzLnB1c2goLi4uZ2V0Q2hlc3NpbWFsc0xlZ2FsTW92ZXModHVyblN0YXRlLCBwaWVjZS5pZCwgYW5pbWFsKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1vdmVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hvb3NlQ2hlc3NpbWFsc0JvdE1vdmUoXG4gIHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlLFxuICBkaWZmaWN1bHR5OiBDaGVzc2ltYWxzQm90RGlmZmljdWx0eSA9ICdub3JtYWwnLFxuKTogQ2hlc3NpbWFsc01vdmUgfCB1bmRlZmluZWQge1xuICBjb25zdCBtb3ZlcyA9IGdldENoZXNzaW1hbHNBbGxMZWdhbE1vdmVzKHN0YXRlKTtcbiAgaWYgKG1vdmVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICBjb25zdCBzY29yZWQgPSBtb3Zlc1xuICAgIC5tYXAoKG1vdmUpID0+ICh7IG1vdmUsIHNjb3JlOiBzY29yZUJvdE1vdmVXaXRoTG9va2FoZWFkKHN0YXRlLCBtb3ZlLCBkaWZmaWN1bHR5KSB9KSlcbiAgICAuc29ydCgoYSwgYikgPT4gYi5zY29yZSAtIGEuc2NvcmUpO1xuXG4gIGlmIChkaWZmaWN1bHR5ID09PSAnZWFzeScpIHtcbiAgICBjb25zdCBwbGF5YWJsZSA9IHNjb3JlZC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uc2NvcmUgPiAtMzAwMCk7XG4gICAgcmV0dXJuIHBpY2tOb2lzeUJvdE1vdmUocGxheWFibGUubGVuZ3RoID8gcGxheWFibGUgOiBzY29yZWQsIDAuNTUpO1xuICB9XG5cbiAgaWYgKGRpZmZpY3VsdHkgPT09ICdub3JtYWwnKSB7XG4gICAgcmV0dXJuIHNjb3JlZFswXT8ubW92ZTtcbiAgfVxuXG4gIGNvbnN0IHdpbm5pbmdNb3ZlID0gc2NvcmVkLmZpbmQoKGl0ZW0pID0+IGl0ZW0uc2NvcmUgPj0gMTAwMDApO1xuICBpZiAod2lubmluZ01vdmUpIHJldHVybiB3aW5uaW5nTW92ZS5tb3ZlO1xuXG4gIGNvbnN0IG9wcG9uZW50V2lubmluZ1RhcmdldHMgPSBuZXcgU2V0KFxuICAgIGdldEltbWVkaWF0ZVdpbm5pbmdNb3ZlcyhzdGF0ZSwgb3RoZXJDb2xvcihzdGF0ZS5jdXJyZW50VHVybikpLm1hcCgobW92ZSkgPT4gcG9zaXRpb25LZXkobW92ZS50bykpLFxuICApO1xuICBpZiAob3Bwb25lbnRXaW5uaW5nVGFyZ2V0cy5zaXplID4gMCkge1xuICAgIGNvbnN0IGJsb2NraW5nTW92ZSA9IHNjb3JlZC5maW5kKFxuICAgICAgKGl0ZW0pID0+IGl0ZW0ubW92ZS5jYXB0dXJlc1BpZWNlSWQgfHwgb3Bwb25lbnRXaW5uaW5nVGFyZ2V0cy5oYXMocG9zaXRpb25LZXkoaXRlbS5tb3ZlLnRvKSksXG4gICAgKTtcbiAgICBpZiAoYmxvY2tpbmdNb3ZlKSByZXR1cm4gYmxvY2tpbmdNb3ZlLm1vdmU7XG4gIH1cblxuICByZXR1cm4gc2NvcmVkWzBdPy5tb3ZlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlDaGVzc2ltYWxzTW92ZShcbiAgc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsXG4gIGNhbmRpZGF0ZTogQ2hlc3NpbWFsc01vdmUsXG4pOiBDaGVzc2ltYWxzR2FtZVN0YXRlIHtcbiAgY29uc3QgbGVnYWxNb3ZlID0gZ2V0Q2hlc3NpbWFsc0xlZ2FsTW92ZXMoc3RhdGUsIGNhbmRpZGF0ZS5waWVjZUlkLCBjYW5kaWRhdGUuYW5pbWFsKS5maW5kKChtb3ZlKSA9PlxuICAgIHNhbWVQb3NpdGlvbihtb3ZlLnRvLCBjYW5kaWRhdGUudG8pLFxuICApO1xuXG4gIGlmICghbGVnYWxNb3ZlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDSEVTU0lNQUxTX0lMTEVHQUxfTU9WRScpO1xuICB9XG5cbiAgY29uc3QgbW92ZWRQaWVjZSA9IGFjdGl2ZVBpZWNlcyhzdGF0ZSkuZmluZCgocGllY2UpID0+IHBpZWNlLmlkID09PSBsZWdhbE1vdmUucGllY2VJZCk7XG4gIGlmICghbW92ZWRQaWVjZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ0hFU1NJTUFMU19QSUVDRV9OT1RfRk9VTkQnKTtcbiAgfVxuXG4gIGNvbnN0IHBpZWNlcyA9IGFjdGl2ZVBpZWNlcyhzdGF0ZSkubWFwKChwaWVjZSkgPT4ge1xuICAgIGlmIChwaWVjZS5pZCA9PT0gbGVnYWxNb3ZlLnBpZWNlSWQpIHtcbiAgICAgIHJldHVybiB7IC4uLnBpZWNlLCBwb3NpdGlvbjogeyAuLi5sZWdhbE1vdmUudG8gfSB9O1xuICAgIH1cbiAgICBpZiAocGllY2UuaWQgPT09IGxlZ2FsTW92ZS5jYXB0dXJlc1BpZWNlSWQpIHtcbiAgICAgIHJldHVybiB7IC4uLnBpZWNlLCBjYXB0dXJlZDogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gcGllY2U7XG4gIH0pO1xuXG4gIGNvbnN0IHBsYXllcnMgPSB7XG4gICAgLi4uc3RhdGUucGxheWVycyxcbiAgICBbbW92ZWRQaWVjZS5jb2xvcl06IHtcbiAgICAgIC4uLnN0YXRlLnBsYXllcnNbbW92ZWRQaWVjZS5jb2xvcl0sXG4gICAgICBjYXJkczpcbiAgICAgICAgbGVnYWxNb3ZlLmtpbmQgPT09ICdwb3dlcicgJiYgbGVnYWxNb3ZlLmFuaW1hbFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5zdGF0ZS5wbGF5ZXJzW21vdmVkUGllY2UuY29sb3JdLmNhcmRzLFxuICAgICAgICAgICAgICBbbGVnYWxNb3ZlLmFuaW1hbF06IHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZS5wbGF5ZXJzW21vdmVkUGllY2UuY29sb3JdLmNhcmRzW2xlZ2FsTW92ZS5hbmltYWxdLFxuICAgICAgICAgICAgICAgIHVzZWQ6IHRydWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiBzdGF0ZS5wbGF5ZXJzW21vdmVkUGllY2UuY29sb3JdLmNhcmRzLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgbmV4dFN0YXRlID0gcmVmcmVzaENoZXNzaW1hbHNQb3dlclVubG9ja3Moe1xuICAgIC4uLnN0YXRlLFxuICAgIHBpZWNlcyxcbiAgICBwbGF5ZXJzLFxuICAgIGN1cnJlbnRUdXJuOiBvdGhlckNvbG9yKG1vdmVkUGllY2UuY29sb3IpLFxuICAgIG1vdmVDb3VudDogc3RhdGUubW92ZUNvdW50ICsgMSxcbiAgICBsYXN0TW92ZTogbGVnYWxNb3ZlLFxuICB9KTtcblxuICBjb25zdCBwcm9tb3RlZCA9IGlzUHJvbW90aW9uUm93KG5leHRTdGF0ZS5ib2FyZFNpemUsIG1vdmVkUGllY2UuY29sb3IsIGxlZ2FsTW92ZS50byk7XG4gIGNvbnN0IGVuZW15UGllY2VzID0gYWN0aXZlUGllY2VzKG5leHRTdGF0ZSkuZmlsdGVyKFxuICAgIChwaWVjZSkgPT4gcGllY2UuY29sb3IgIT09IG1vdmVkUGllY2UuY29sb3IgJiYgIXBpZWNlLmNhcHR1cmVkLFxuICApO1xuXG4gIGlmIChwcm9tb3RlZCB8fCBlbmVteVBpZWNlcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFN0YXRlLFxuICAgICAgc3RhdHVzOiAnZmluaXNoZWQnLFxuICAgICAgd2lubmVyOiBtb3ZlZFBpZWNlLmNvbG9yLFxuICAgICAgd2lubmVyUmVhc29uOiBwcm9tb3RlZCA/ICdwcm9tb3Rpb24nIDogJ2VsaW1pbmF0aW9uJyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG5leHRTdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2lnbkNoZXNzaW1hbHNHYW1lKFxuICBzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSxcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcixcbik6IENoZXNzaW1hbHNHYW1lU3RhdGUge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIHN0YXR1czogJ2ZpbmlzaGVkJyxcbiAgICB3aW5uZXI6IG90aGVyQ29sb3IoY29sb3IpLFxuICAgIHdpbm5lclJlYXNvbjogJ3Jlc2lnbmF0aW9uJyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvc2l0aW9uS2V5KHBvc2l0aW9uOiBDaGVzc2ltYWxzUG9zaXRpb24pOiBzdHJpbmcge1xuICByZXR1cm4gYCR7cG9zaXRpb24ucm93fToke3Bvc2l0aW9uLmNvbH1gO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDYXJkcygpIHtcbiAgcmV0dXJuIEFOSU1BTFMucmVkdWNlKFxuICAgIChjYXJkcywgdHlwZSkgPT4gKHtcbiAgICAgIC4uLmNhcmRzLFxuICAgICAgW3R5cGVdOiB7IHR5cGUsIHVzZWQ6IGZhbHNlIH0sXG4gICAgfSksXG4gICAge30gYXMgUmVjb3JkPENoZXNzaW1hbHNBbmltYWxUeXBlLCB7IHR5cGU6IENoZXNzaW1hbHNBbmltYWxUeXBlOyB1c2VkOiBib29sZWFuIH0+LFxuICApO1xufVxuXG5mdW5jdGlvbiBhY3RpdmVQaWVjZXMoc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUpOiBDaGVzc2ltYWxzUGllY2VbXSB7XG4gIHJldHVybiBzdGF0ZS5waWVjZXMuZmlsdGVyKChwaWVjZSk6IHBpZWNlIGlzIENoZXNzaW1hbHNQaWVjZSA9PiAhIXBpZWNlKTtcbn1cblxuZnVuY3Rpb24gZ2V0QmFzaWNNb3ZlcyhzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSwgcGllY2U6IENoZXNzaW1hbHNQaWVjZSk6IENoZXNzaW1hbHNNb3ZlW10ge1xuICBjb25zdCBkaXJlY3Rpb24gPSBwaWVjZS5jb2xvciA9PT0gJ3doaXRlJyA/IC0xIDogMTtcbiAgY29uc3QgbW92ZXM6IENoZXNzaW1hbHNNb3ZlW10gPSBbXTtcbiAgY29uc3QgZm9yd2FyZCA9IHsgcm93OiBwaWVjZS5wb3NpdGlvbi5yb3cgKyBkaXJlY3Rpb24sIGNvbDogcGllY2UucG9zaXRpb24uY29sIH07XG5cbiAgaWYgKGlzSW5zaWRlQm9hcmQoc3RhdGUuYm9hcmRTaXplLCBmb3J3YXJkKSAmJiAhZ2V0Q2hlc3NpbWFsc1BpZWNlQXQoc3RhdGUsIGZvcndhcmQpKSB7XG4gICAgbW92ZXMucHVzaCh7XG4gICAgICBwaWVjZUlkOiBwaWVjZS5pZCxcbiAgICAgIGZyb206IHsgLi4ucGllY2UucG9zaXRpb24gfSxcbiAgICAgIHRvOiBmb3J3YXJkLFxuICAgICAga2luZDogJ2Jhc2ljJyxcbiAgICB9KTtcbiAgfVxuXG4gIGZvciAoY29uc3QgY29sT2Zmc2V0IG9mIFstMSwgMV0pIHtcbiAgICBjb25zdCB0YXJnZXQgPSB7IHJvdzogcGllY2UucG9zaXRpb24ucm93ICsgZGlyZWN0aW9uLCBjb2w6IHBpZWNlLnBvc2l0aW9uLmNvbCArIGNvbE9mZnNldCB9O1xuICAgIGNvbnN0IHRhcmdldFBpZWNlID0gZ2V0Q2hlc3NpbWFsc1BpZWNlQXQoc3RhdGUsIHRhcmdldCk7XG4gICAgaWYgKFxuICAgICAgaXNJbnNpZGVCb2FyZChzdGF0ZS5ib2FyZFNpemUsIHRhcmdldCkgJiZcbiAgICAgIHRhcmdldFBpZWNlICYmXG4gICAgICB0YXJnZXRQaWVjZS5jb2xvciAhPT0gcGllY2UuY29sb3IgJiZcbiAgICAgICFpc1Byb21vdGlvblJvdyhzdGF0ZS5ib2FyZFNpemUsIHBpZWNlLmNvbG9yLCB0YXJnZXQpXG4gICAgKSB7XG4gICAgICBtb3Zlcy5wdXNoKHtcbiAgICAgICAgcGllY2VJZDogcGllY2UuaWQsXG4gICAgICAgIGZyb206IHsgLi4ucGllY2UucG9zaXRpb24gfSxcbiAgICAgICAgdG86IHRhcmdldCxcbiAgICAgICAga2luZDogJ2Jhc2ljJyxcbiAgICAgICAgY2FwdHVyZXNQaWVjZUlkOiB0YXJnZXRQaWVjZS5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtb3Zlcztcbn1cblxuZnVuY3Rpb24gZ2V0UG93ZXJNb3ZlcyhcbiAgc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsXG4gIHBpZWNlOiBDaGVzc2ltYWxzUGllY2UsXG4gIGFuaW1hbDogQ2hlc3NpbWFsc0FuaW1hbFR5cGUsXG4pOiBDaGVzc2ltYWxzTW92ZVtdIHtcbiAgaWYgKGFuaW1hbCA9PT0gJ2thbmdhcm9vJykge1xuICAgIHJldHVybiBnZXRLYW5nYXJvb01vdmVzKHN0YXRlLCBwaWVjZSk7XG4gIH1cblxuICBjb25zdCBkaXJlY3Rpb25zID0gZ2V0UG93ZXJEaXJlY3Rpb25zKGFuaW1hbCk7XG4gIGNvbnN0IG1vdmVzOiBDaGVzc2ltYWxzTW92ZVtdID0gW107XG5cbiAgZm9yIChjb25zdCBkaXJlY3Rpb24gb2YgZGlyZWN0aW9ucykge1xuICAgIGZvciAobGV0IGRpc3RhbmNlID0gMTsgZGlzdGFuY2UgPD0gMzsgZGlzdGFuY2UgKz0gMSkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0ge1xuICAgICAgICByb3c6IHBpZWNlLnBvc2l0aW9uLnJvdyArIGRpcmVjdGlvbi5yb3cgKiBkaXN0YW5jZSxcbiAgICAgICAgY29sOiBwaWVjZS5wb3NpdGlvbi5jb2wgKyBkaXJlY3Rpb24uY29sICogZGlzdGFuY2UsXG4gICAgICB9O1xuICAgICAgaWYgKCFpc0luc2lkZUJvYXJkKHN0YXRlLmJvYXJkU2l6ZSwgdGFyZ2V0KSkgYnJlYWs7XG4gICAgICBpZiAoaXNQcm9tb3Rpb25Sb3coc3RhdGUuYm9hcmRTaXplLCBwaWVjZS5jb2xvciwgdGFyZ2V0KSkgYnJlYWs7XG5cbiAgICAgIGNvbnN0IHRhcmdldFBpZWNlID0gZ2V0Q2hlc3NpbWFsc1BpZWNlQXQoc3RhdGUsIHRhcmdldCk7XG4gICAgICBpZiAodGFyZ2V0UGllY2U/LmNvbG9yID09PSBwaWVjZS5jb2xvcikgYnJlYWs7XG5cbiAgICAgIG1vdmVzLnB1c2goe1xuICAgICAgICBwaWVjZUlkOiBwaWVjZS5pZCxcbiAgICAgICAgZnJvbTogeyAuLi5waWVjZS5wb3NpdGlvbiB9LFxuICAgICAgICB0bzogdGFyZ2V0LFxuICAgICAgICBraW5kOiAncG93ZXInLFxuICAgICAgICBhbmltYWwsXG4gICAgICAgIGNhcHR1cmVzUGllY2VJZDogdGFyZ2V0UGllY2U/LmlkLFxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0YXJnZXRQaWVjZSkgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1vdmVzO1xufVxuXG5mdW5jdGlvbiBnZXRLYW5nYXJvb01vdmVzKHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlLCBwaWVjZTogQ2hlc3NpbWFsc1BpZWNlKTogQ2hlc3NpbWFsc01vdmVbXSB7XG4gIGNvbnN0IG1vdmVzOiBDaGVzc2ltYWxzTW92ZVtdID0gW107XG4gIGNvbnN0IGp1bXBzID0gW1xuICAgIHsgcm93OiAtMiwgY29sOiAwIH0sXG4gICAgeyByb3c6IDAsIGNvbDogMiB9LFxuICAgIHsgcm93OiAyLCBjb2w6IDAgfSxcbiAgICB7IHJvdzogMCwgY29sOiAtMiB9LFxuICBdO1xuXG4gIGZvciAoY29uc3QganVtcCBvZiBqdW1wcykge1xuICAgIGNvbnN0IHRhcmdldCA9IHtcbiAgICAgIHJvdzogcGllY2UucG9zaXRpb24ucm93ICsganVtcC5yb3csXG4gICAgICBjb2w6IHBpZWNlLnBvc2l0aW9uLmNvbCArIGp1bXAuY29sLFxuICAgIH07XG4gICAgaWYgKCFpc0luc2lkZUJvYXJkKHN0YXRlLmJvYXJkU2l6ZSwgdGFyZ2V0KSkgY29udGludWU7XG4gICAgaWYgKGlzUHJvbW90aW9uUm93KHN0YXRlLmJvYXJkU2l6ZSwgcGllY2UuY29sb3IsIHRhcmdldCkpIGNvbnRpbnVlO1xuXG4gICAgY29uc3QgdGFyZ2V0UGllY2UgPSBnZXRDaGVzc2ltYWxzUGllY2VBdChzdGF0ZSwgdGFyZ2V0KTtcbiAgICBpZiAodGFyZ2V0UGllY2U/LmNvbG9yID09PSBwaWVjZS5jb2xvcikgY29udGludWU7XG5cbiAgICBtb3Zlcy5wdXNoKHtcbiAgICAgIHBpZWNlSWQ6IHBpZWNlLmlkLFxuICAgICAgZnJvbTogeyAuLi5waWVjZS5wb3NpdGlvbiB9LFxuICAgICAgdG86IHRhcmdldCxcbiAgICAgIGtpbmQ6ICdwb3dlcicsXG4gICAgICBhbmltYWw6ICdrYW5nYXJvbycsXG4gICAgICBjYXB0dXJlc1BpZWNlSWQ6IHRhcmdldFBpZWNlPy5pZCxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBtb3Zlcztcbn1cblxuZnVuY3Rpb24gc2NvcmVCb3RNb3ZlKFxuICBzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSxcbiAgbW92ZTogQ2hlc3NpbWFsc01vdmUsXG4gIGRpZmZpY3VsdHk6IENoZXNzaW1hbHNCb3REaWZmaWN1bHR5LFxuKTogbnVtYmVyIHtcbiAgY29uc3QgY29sb3IgPSBzdGF0ZS5jdXJyZW50VHVybjtcbiAgY29uc3QgdGFyZ2V0UGllY2UgPSBtb3ZlLmNhcHR1cmVzUGllY2VJZFxuICAgID8gYWN0aXZlUGllY2VzKHN0YXRlKS5maW5kKChwaWVjZSkgPT4gcGllY2UuaWQgPT09IG1vdmUuY2FwdHVyZXNQaWVjZUlkKVxuICAgIDogdW5kZWZpbmVkO1xuICBjb25zdCBhZHZhbmNlbWVudCA9XG4gICAgY29sb3IgPT09ICd3aGl0ZScgPyBzdGF0ZS5ib2FyZFNpemUgLSAxIC0gbW92ZS50by5yb3cgOiBtb3ZlLnRvLnJvdztcbiAgbGV0IHNjb3JlID0gYWR2YW5jZW1lbnQgKiAyNDtcblxuICBpZiAobW92ZS5raW5kID09PSAnYmFzaWMnICYmIGlzUHJvbW90aW9uUm93KHN0YXRlLmJvYXJkU2l6ZSwgY29sb3IsIG1vdmUudG8pKSB7XG4gICAgc2NvcmUgKz0gMTAwMDA7XG4gIH1cbiAgaWYgKHRhcmdldFBpZWNlKSB7XG4gICAgc2NvcmUgKz0gNTIwO1xuICAgIGNvbnN0IHRhcmdldEFkdmFuY2VtZW50ID1cbiAgICAgIHRhcmdldFBpZWNlLmNvbG9yID09PSAnd2hpdGUnXG4gICAgICAgID8gc3RhdGUuYm9hcmRTaXplIC0gMSAtIHRhcmdldFBpZWNlLnBvc2l0aW9uLnJvd1xuICAgICAgICA6IHRhcmdldFBpZWNlLnBvc2l0aW9uLnJvdztcbiAgICBzY29yZSArPSB0YXJnZXRBZHZhbmNlbWVudCAqIDE2O1xuICB9XG4gIGlmIChtb3ZlLmtpbmQgPT09ICdwb3dlcicpIHtcbiAgICBzY29yZSArPSB0YXJnZXRQaWVjZSA/IDEyMCA6IGRpZmZpY3VsdHkgPT09ICdoYXJkJyA/IC02MCA6IC0zMDtcbiAgfVxuICBpZiAobW92ZS5hbmltYWwgPT09ICdsaW9uJykgc2NvcmUgLT0gMjA7XG4gIGlmIChtb3ZlLmFuaW1hbCA9PT0gJ2thbmdhcm9vJykgc2NvcmUgKz0gMTQ7XG4gIGlmICh3b3VsZFVubG9ja1Bvd2VyKHN0YXRlLCBjb2xvciwgbW92ZS50bykpIHNjb3JlICs9IDkwO1xuICBpZiAoZGlmZmljdWx0eSA9PT0gJ2hhcmQnICYmIGlzU3F1YXJlVnVsbmVyYWJsZUFmdGVyTW92ZShzdGF0ZSwgbW92ZSkpIHNjb3JlIC09IHRhcmdldFBpZWNlID8gODAgOiAxNDA7XG5cbiAgcmV0dXJuIHNjb3JlO1xufVxuXG5mdW5jdGlvbiBzY29yZUJvdE1vdmVXaXRoTG9va2FoZWFkKFxuICBzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSxcbiAgbW92ZTogQ2hlc3NpbWFsc01vdmUsXG4gIGRpZmZpY3VsdHk6IENoZXNzaW1hbHNCb3REaWZmaWN1bHR5LFxuKTogbnVtYmVyIHtcbiAgbGV0IHNjb3JlID0gc2NvcmVCb3RNb3ZlKHN0YXRlLCBtb3ZlLCBkaWZmaWN1bHR5KTtcblxuICB0cnkge1xuICAgIGNvbnN0IGFmdGVyTW92ZSA9IGFwcGx5Q2hlc3NpbWFsc01vdmUoc3RhdGUsIG1vdmUpO1xuICAgIGlmIChhZnRlck1vdmUuc3RhdHVzID09PSAnZmluaXNoZWQnKSByZXR1cm4gc2NvcmUgKyA1MDAwO1xuXG4gICAgY29uc3Qgb3Bwb25lbnRNb3ZlcyA9IGdldENoZXNzaW1hbHNBbGxMZWdhbE1vdmVzKGFmdGVyTW92ZSk7XG4gICAgY29uc3Qgb3Bwb25lbnRJbW1lZGlhdGVXaW4gPSBvcHBvbmVudE1vdmVzLnNvbWUoXG4gICAgICAob3Bwb25lbnRNb3ZlKSA9PlxuICAgICAgICBvcHBvbmVudE1vdmUua2luZCA9PT0gJ2Jhc2ljJyAmJlxuICAgICAgICBpc1Byb21vdGlvblJvdyhhZnRlck1vdmUuYm9hcmRTaXplLCBhZnRlck1vdmUuY3VycmVudFR1cm4sIG9wcG9uZW50TW92ZS50byksXG4gICAgKTtcbiAgICBpZiAob3Bwb25lbnRJbW1lZGlhdGVXaW4pIHtcbiAgICAgIHNjb3JlIC09IGRpZmZpY3VsdHkgPT09ICdlYXN5JyA/IDE4MDAgOiBkaWZmaWN1bHR5ID09PSAnbm9ybWFsJyA/IDUyMDAgOiA4MDAwO1xuICAgIH1cblxuICAgIGNvbnN0IG1vdmVkUGllY2UgPSBhZnRlck1vdmUucGllY2VzLmZpbmQoKHBpZWNlKSA9PiBwaWVjZS5pZCA9PT0gbW92ZS5waWVjZUlkICYmICFwaWVjZS5jYXB0dXJlZCk7XG4gICAgaWYgKG1vdmVkUGllY2UpIHtcbiAgICAgIGNvbnN0IGNhbkNhcHR1cmVNb3ZlZFBpZWNlID0gb3Bwb25lbnRNb3Zlcy5zb21lKChvcHBvbmVudE1vdmUpID0+IG9wcG9uZW50TW92ZS5jYXB0dXJlc1BpZWNlSWQgPT09IG1vdmUucGllY2VJZCk7XG4gICAgICBpZiAoY2FuQ2FwdHVyZU1vdmVkUGllY2UpIHtcbiAgICAgICAgc2NvcmUgLT0gbW92ZS5jYXB0dXJlc1BpZWNlSWQgPyAxODAgOiBkaWZmaWN1bHR5ID09PSAnZWFzeScgPyAxMjAgOiBkaWZmaWN1bHR5ID09PSAnbm9ybWFsJyA/IDM2MCA6IDU2MDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2VudGVyID0gKGFmdGVyTW92ZS5ib2FyZFNpemUgLSAxKSAvIDI7XG4gICAgICBjb25zdCBjZW50ZXJDb250cm9sID0gTWF0aC5tYXgoMCwgYWZ0ZXJNb3ZlLmJvYXJkU2l6ZSAvIDIgLSBNYXRoLmFicyhtb3ZlZFBpZWNlLnBvc2l0aW9uLmNvbCAtIGNlbnRlcikpO1xuICAgICAgc2NvcmUgKz0gY2VudGVyQ29udHJvbCAqIChkaWZmaWN1bHR5ID09PSAnaGFyZCcgPyAxOCA6IDEwKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHBvbmVudEJlc3RSZXBseSA9IG9wcG9uZW50TW92ZXNcbiAgICAgIC5tYXAoKG9wcG9uZW50TW92ZSkgPT4gc2NvcmVCb3RNb3ZlKGFmdGVyTW92ZSwgb3Bwb25lbnRNb3ZlLCBkaWZmaWN1bHR5KSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBiIC0gYSlbMF07XG5cbiAgICBpZiAob3Bwb25lbnRCZXN0UmVwbHkpIHtcbiAgICAgIGNvbnN0IHJlcGx5V2VpZ2h0ID0gZGlmZmljdWx0eSA9PT0gJ2Vhc3knID8gMC4xMiA6IGRpZmZpY3VsdHkgPT09ICdub3JtYWwnID8gMC4zMiA6IDAuNDg7XG4gICAgICBzY29yZSAtPSBvcHBvbmVudEJlc3RSZXBseSAqIHJlcGx5V2VpZ2h0O1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgc2NvcmUgLT0gMTAwMDtcbiAgfVxuXG4gIHJldHVybiBzY29yZTtcbn1cblxuZnVuY3Rpb24gcGlja05vaXN5Qm90TW92ZShcbiAgc2NvcmVkOiBBcnJheTx7IG1vdmU6IENoZXNzaW1hbHNNb3ZlOyBzY29yZTogbnVtYmVyIH0+LFxuICBzcHJlYWQ6IG51bWJlcixcbik6IENoZXNzaW1hbHNNb3ZlIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHNjb3JlZC5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IHBvb2xTaXplID0gTWF0aC5tYXgoMSwgTWF0aC5jZWlsKHNjb3JlZC5sZW5ndGggKiBzcHJlYWQpKTtcbiAgY29uc3QgcG9vbCA9IHNjb3JlZC5zbGljZSgwLCBwb29sU2l6ZSk7XG4gIGNvbnN0IHRvcFNjb3JlID0gcG9vbFswXT8uc2NvcmUgPz8gMDtcbiAgY29uc3Qgd2VpZ2h0ZWQgPSBwb29sLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICBjb25zdCByZWxhdGl2ZSA9IE1hdGgubWF4KDAsIGl0ZW0uc2NvcmUgLSB0b3BTY29yZSArIDEyMDApO1xuICAgIGNvbnN0IHdlaWdodCA9IE1hdGgubWF4KDEsIHJlbGF0aXZlIC8gMTIwICsgKHBvb2wubGVuZ3RoIC0gaW5kZXgpICogMik7XG4gICAgcmV0dXJuIHsgLi4uaXRlbSwgd2VpZ2h0IH07XG4gIH0pO1xuICBjb25zdCB0b3RhbFdlaWdodCA9IHdlaWdodGVkLnJlZHVjZSgodG90YWwsIGl0ZW0pID0+IHRvdGFsICsgaXRlbS53ZWlnaHQsIDApO1xuICBsZXQgY3Vyc29yID0gTWF0aC5yYW5kb20oKSAqIHRvdGFsV2VpZ2h0O1xuICBmb3IgKGNvbnN0IGl0ZW0gb2Ygd2VpZ2h0ZWQpIHtcbiAgICBjdXJzb3IgLT0gaXRlbS53ZWlnaHQ7XG4gICAgaWYgKGN1cnNvciA8PSAwKSByZXR1cm4gaXRlbS5tb3ZlO1xuICB9XG4gIHJldHVybiBwb29sWzBdPy5tb3ZlO1xufVxuXG5mdW5jdGlvbiBnZXRJbW1lZGlhdGVXaW5uaW5nTW92ZXMoXG4gIHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlLFxuICBjb2xvcjogQ2hlc3NpbWFsc1BsYXllckNvbG9yLFxuKTogQ2hlc3NpbWFsc01vdmVbXSB7XG4gIHJldHVybiBnZXRDaGVzc2ltYWxzQWxsTGVnYWxNb3ZlcyhzdGF0ZSwgY29sb3IpLmZpbHRlcihcbiAgICAobW92ZSkgPT4gbW92ZS5raW5kID09PSAnYmFzaWMnICYmIGlzUHJvbW90aW9uUm93KHN0YXRlLmJvYXJkU2l6ZSwgY29sb3IsIG1vdmUudG8pLFxuICApO1xufVxuXG5mdW5jdGlvbiB3b3VsZFVubG9ja1Bvd2VyKFxuICBzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSxcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcixcbiAgcG9zaXRpb246IENoZXNzaW1hbHNQb3NpdGlvbixcbik6IGJvb2xlYW4ge1xuICBpZiAoc3RhdGUucGxheWVyc1tjb2xvcl0ucG93ZXJVbmxvY2tlZCkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBjZW50ZXJUb3AgPSBzdGF0ZS5ib2FyZFNpemUgLyAyIC0gMTtcbiAgY29uc3QgY2VudGVyQm90dG9tID0gc3RhdGUuYm9hcmRTaXplIC8gMjtcbiAgcmV0dXJuIGNvbG9yID09PSAnd2hpdGUnID8gcG9zaXRpb24ucm93IDw9IGNlbnRlclRvcCA6IHBvc2l0aW9uLnJvdyA+PSBjZW50ZXJCb3R0b207XG59XG5cbmZ1bmN0aW9uIGlzU3F1YXJlVnVsbmVyYWJsZUFmdGVyTW92ZShzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSwgbW92ZTogQ2hlc3NpbWFsc01vdmUpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBhZnRlck1vdmUgPSBhcHBseUNoZXNzaW1hbHNNb3ZlKHN0YXRlLCBtb3ZlKTtcbiAgICBpZiAoYWZ0ZXJNb3ZlLnN0YXR1cyA9PT0gJ2ZpbmlzaGVkJykgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBnZXRDaGVzc2ltYWxzQWxsTGVnYWxNb3ZlcyhhZnRlck1vdmUpLnNvbWUoKGVuZW15TW92ZSkgPT5cbiAgICAgIHNhbWVQb3NpdGlvbihlbmVteU1vdmUudG8sIG1vdmUudG8pICYmICEhZW5lbXlNb3ZlLmNhcHR1cmVzUGllY2VJZCxcbiAgICApO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UG93ZXJEaXJlY3Rpb25zKGFuaW1hbDogQ2hlc3NpbWFsc0FuaW1hbFR5cGUpOiBDaGVzc2ltYWxzUG9zaXRpb25bXSB7XG4gIGlmIChhbmltYWwgPT09ICdlYWdsZScpIHtcbiAgICByZXR1cm4gW1xuICAgICAgeyByb3c6IC0xLCBjb2w6IC0xIH0sXG4gICAgICB7IHJvdzogLTEsIGNvbDogMSB9LFxuICAgICAgeyByb3c6IDEsIGNvbDogLTEgfSxcbiAgICAgIHsgcm93OiAxLCBjb2w6IDEgfSxcbiAgICBdO1xuICB9XG4gIGlmIChhbmltYWwgPT09ICdidWxsJykge1xuICAgIHJldHVybiBbXG4gICAgICB7IHJvdzogLTEsIGNvbDogMCB9LFxuICAgICAgeyByb3c6IDEsIGNvbDogMCB9LFxuICAgICAgeyByb3c6IDAsIGNvbDogLTEgfSxcbiAgICAgIHsgcm93OiAwLCBjb2w6IDEgfSxcbiAgICBdO1xuICB9XG4gIHJldHVybiBbXG4gICAgeyByb3c6IC0xLCBjb2w6IC0xIH0sXG4gICAgeyByb3c6IC0xLCBjb2w6IDAgfSxcbiAgICB7IHJvdzogLTEsIGNvbDogMSB9LFxuICAgIHsgcm93OiAwLCBjb2w6IC0xIH0sXG4gICAgeyByb3c6IDAsIGNvbDogMSB9LFxuICAgIHsgcm93OiAxLCBjb2w6IC0xIH0sXG4gICAgeyByb3c6IDEsIGNvbDogMCB9LFxuICAgIHsgcm93OiAxLCBjb2w6IDEgfSxcbiAgXTtcbn1cblxuZnVuY3Rpb24gcmVmcmVzaENoZXNzaW1hbHNQb3dlclVubG9ja3Moc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUpOiBDaGVzc2ltYWxzR2FtZVN0YXRlIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBwbGF5ZXJzOiB7XG4gICAgICB3aGl0ZToge1xuICAgICAgICAuLi5zdGF0ZS5wbGF5ZXJzLndoaXRlLFxuICAgICAgICBwb3dlclVubG9ja2VkOlxuICAgICAgICAgIHN0YXRlLnBsYXllcnMud2hpdGUucG93ZXJVbmxvY2tlZCB8fFxuICAgICAgICAgIGhhc0Nyb3NzZWRDZW50ZXIoc3RhdGUsICd3aGl0ZScpIHx8XG4gICAgICAgICAgaGFzRW5lbXlFbnRlcmVkSG9tZShzdGF0ZSwgJ3doaXRlJyksXG4gICAgICB9LFxuICAgICAgYmxhY2s6IHtcbiAgICAgICAgLi4uc3RhdGUucGxheWVycy5ibGFjayxcbiAgICAgICAgcG93ZXJVbmxvY2tlZDpcbiAgICAgICAgICBzdGF0ZS5wbGF5ZXJzLmJsYWNrLnBvd2VyVW5sb2NrZWQgfHxcbiAgICAgICAgICBoYXNDcm9zc2VkQ2VudGVyKHN0YXRlLCAnYmxhY2snKSB8fFxuICAgICAgICAgIGhhc0VuZW15RW50ZXJlZEhvbWUoc3RhdGUsICdibGFjaycpLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBoYXNDcm9zc2VkQ2VudGVyKHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlLCBjb2xvcjogQ2hlc3NpbWFsc1BsYXllckNvbG9yKTogYm9vbGVhbiB7XG4gIGNvbnN0IGNlbnRlclRvcCA9IHN0YXRlLmJvYXJkU2l6ZSAvIDIgLSAxO1xuICBjb25zdCBjZW50ZXJCb3R0b20gPSBzdGF0ZS5ib2FyZFNpemUgLyAyO1xuICByZXR1cm4gYWN0aXZlUGllY2VzKHN0YXRlKS5zb21lKChwaWVjZSkgPT4ge1xuICAgIGlmIChwaWVjZS5jb2xvciAhPT0gY29sb3IgfHwgcGllY2UuY2FwdHVyZWQpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gY29sb3IgPT09ICd3aGl0ZScgPyBwaWVjZS5wb3NpdGlvbi5yb3cgPD0gY2VudGVyVG9wIDogcGllY2UucG9zaXRpb24ucm93ID49IGNlbnRlckJvdHRvbTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhhc0VuZW15RW50ZXJlZEhvbWUoc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsIGNvbG9yOiBDaGVzc2ltYWxzUGxheWVyQ29sb3IpOiBib29sZWFuIHtcbiAgY29uc3QgY2VudGVyVG9wID0gc3RhdGUuYm9hcmRTaXplIC8gMiAtIDE7XG4gIGNvbnN0IGNlbnRlckJvdHRvbSA9IHN0YXRlLmJvYXJkU2l6ZSAvIDI7XG4gIGNvbnN0IGVuZW15ID0gb3RoZXJDb2xvcihjb2xvcik7XG4gIHJldHVybiBhY3RpdmVQaWVjZXMoc3RhdGUpLnNvbWUoKHBpZWNlKSA9PiB7XG4gICAgaWYgKHBpZWNlLmNvbG9yICE9PSBlbmVteSB8fCBwaWVjZS5jYXB0dXJlZCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBjb2xvciA9PT0gJ3doaXRlJyA/IHBpZWNlLnBvc2l0aW9uLnJvdyA+PSBjZW50ZXJCb3R0b20gOiBwaWVjZS5wb3NpdGlvbi5yb3cgPD0gY2VudGVyVG9wO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaXNQcm9tb3Rpb25Sb3coXG4gIGJvYXJkU2l6ZTogQ2hlc3NpbWFsc0JvYXJkU2l6ZSxcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcixcbiAgcG9zaXRpb246IENoZXNzaW1hbHNQb3NpdGlvbixcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gY29sb3IgPT09ICd3aGl0ZScgPyBwb3NpdGlvbi5yb3cgPT09IDAgOiBwb3NpdGlvbi5yb3cgPT09IGJvYXJkU2l6ZSAtIDE7XG59XG5cbmZ1bmN0aW9uIGlzSW5zaWRlQm9hcmQoYm9hcmRTaXplOiBDaGVzc2ltYWxzQm9hcmRTaXplLCBwb3NpdGlvbjogQ2hlc3NpbWFsc1Bvc2l0aW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgcG9zaXRpb24ucm93ID49IDAgJiYgcG9zaXRpb24ucm93IDwgYm9hcmRTaXplICYmIHBvc2l0aW9uLmNvbCA+PSAwICYmIHBvc2l0aW9uLmNvbCA8IGJvYXJkU2l6ZVxuICApO1xufVxuXG5mdW5jdGlvbiBzYW1lUG9zaXRpb24oYTogQ2hlc3NpbWFsc1Bvc2l0aW9uLCBiOiBDaGVzc2ltYWxzUG9zaXRpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGEucm93ID09PSBiLnJvdyAmJiBhLmNvbCA9PT0gYi5jb2w7XG59XG5cbmZ1bmN0aW9uIG90aGVyQ29sb3IoY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcik6IENoZXNzaW1hbHNQbGF5ZXJDb2xvciB7XG4gIHJldHVybiBjb2xvciA9PT0gJ3doaXRlJyA/ICdibGFjaycgOiAnd2hpdGUnO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2NhbElkKCk6IHN0cmluZyB7XG4gIHJldHVybiBgbG9jYWwtJHtEYXRlLm5vdygpLnRvU3RyaW5nKDM2KX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCA4KX1gO1xufVxuIl19
455
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlc3NpbWFscy1lbmdpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21pbmktZ2FtZXMvY2hlc3NpbWFscy1lbmdpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsTUFBTSxPQUFPLEdBQTJCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFTOUUsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxZQUFpQyxDQUFDLEVBQ2xDLFVBQXVDLEVBQUU7SUFFekMsTUFBTSxNQUFNLEdBQXNCLEVBQUUsQ0FBQztJQUNyQyxNQUFNLFFBQVEsR0FBRyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztJQUVuQixLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsRUFBRSxFQUFFLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRTtZQUNqQixLQUFLLEVBQUUsT0FBTztZQUNkLFFBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ2hDLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDVixFQUFFLEVBQUUsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLEtBQUssRUFBRSxPQUFPO1lBQ2QsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDaEMsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sNkJBQTZCLENBQUM7UUFDbkMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFF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QU0sUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFDekMsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0QixJQUFJLE1BQU0sSUFBSSxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7QUFDdkIsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLEtBQTBCLEVBQzFCLEtBQTRCO0lBRTVCLE9BQU8sMEJBQTBCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FDcEQsQ0FBQyxJ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akYsT0FBTyxDQUNMLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEdBQUcsU0FBUyxJQUFJLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUMvRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLENBQXFCLEVBQUUsQ0FBcUI7SUFDaEUsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzVDLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUE0QjtJQUM5QyxPQUFPLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQy9DLENBQUM7QUFFRCxTQUFTLGFBQWE7SUFDcEIsT0FBTyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoZXNzaW1hbHNBbmltYWxUeXBlLFxuICBDaGVzc2ltYWxzQm90RGlmZmljdWx0eSxcbiAgQ2hlc3NpbWFsc0JvYXJkU2l6ZSxcbiAgQ2hlc3NpbWFsc0dhbWVNb2RlLFxuICBDaGVzc2ltYWxzR2FtZVN0YXRlLFxuICBDaGVzc2ltYWxzR2FtZVN0YXR1cyxcbiAgQ2hlc3NpbWFsc01vdmUsXG4gIENoZXNzaW1hbHNPbmxpbmVTdGF0ZSxcbiAgQ2hlc3NpbWFsc1BpZWNlLFxuICBDaGVzc2ltYWxzUGxheWVyQ29sb3IsXG4gIENoZXNzaW1hbHNQb3NpdGlvbixcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IEFOSU1BTFM6IENoZXNzaW1hbHNBbmltYWxUeXBlW10gPSBbJ2VhZ2xlJywgJ2J1bGwnLCAna2FuZ2Fyb28nLCAnbGlvbiddO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNoZXNzaW1hbHNHYW1lT3B0aW9ucyB7XG4gIGlkPzogc3RyaW5nO1xuICBtb2RlPzogQ2hlc3NpbWFsc0dhbWVNb2RlO1xuICBzdGF0dXM/OiBDaGVzc2ltYWxzR2FtZVN0YXR1cztcbiAgb25saW5lPzogQ2hlc3NpbWFsc09ubGluZVN0YXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2hlc3NpbWFsc0dhbWUoXG4gIGJvYXJkU2l6ZTogQ2hlc3NpbWFsc0JvYXJkU2l6ZSA9IDYsXG4gIG9wdGlvbnM6IENyZWF0ZUNoZXNzaW1hbHNHYW1lT3B0aW9ucyA9IHt9LFxuKTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSB7XG4gIGNvbnN0IHBpZWNlczogQ2hlc3NpbWFsc1BpZWNlW10gPSBbXTtcbiAgY29uc3Qgd2hpdGVSb3cgPSBib2FyZFNpemUgLSAyO1xuICBjb25zdCBibGFja1JvdyA9IDE7XG5cbiAgZm9yIChsZXQgY29sID0gMDsgY29sIDwgYm9hcmRTaXplOyBjb2wgKz0gMSkge1xuICAgIHBpZWNlcy5wdXNoKHtcbiAgICAgIGlkOiBgVyR7Y29sICsgMX1gLFxuICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICBwb3NpdGlvbjogeyByb3c6IHdoaXRlUm93LCBjb2wgfSxcbiAgICAgIGNhcHR1cmVkOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwaWVjZXMucHVzaCh7XG4gICAgICBpZDogYEIke2NvbCArIDF9YCxcbiAgICAgIGNvbG9yOiAnYmxhY2snLFxuICAgICAgcG9zaXRpb246IHsgcm93OiBibGFja1JvdywgY29sIH0sXG4gICAgICBjYXB0dXJlZDogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVmcmVzaENoZXNzaW1hbHNQb3dlclVubG9ja3Moe1xuICAgIGlkOiBvcHRpb25zLmlkID8/IGNyZWF0ZUxvY2FsSWQoKSxcbiAgICBtb2RlOiBvcHRpb25zLm1vZGUgPz8gJ2xvY2FsJyxcbiAgICBib2FyZFNpemUsXG4gICAgc3RhdHVzOiBvcHRpb25zLnN0YXR1cyA/PyAnaW5fcHJvZ3Jlc3MnLFxuICAgIGN1cnJlbnRUdXJuOiAnd2hpdGUnLFxuICAgIHBpZWNlcyxcbiAgICBwbGF5ZXJzOiB7XG4gICAgICB3aGl0ZTogeyBjb2xvcjogJ3doaXRlJywgcG93ZXJVbmxvY2tlZDogZmFsc2UsIGNhcmRzOiBjcmVhdGVDYXJkcygpIH0sXG4gICAgICBibGFjazogeyBjb2xvcjogJ2JsYWNrJywgcG93ZXJVbmxvY2tlZDogZmFsc2UsIGNhcmRzOiBjcmVhdGVDYXJkcygpIH0sXG4gICAgfSxcbiAgICBtb3ZlQ291bnQ6IDAsXG4gICAgb25saW5lOiBvcHRpb25zLm9ubGluZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGVzc2ltYWxzUGllY2VBdChcbiAgc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsXG4gIHBvc2l0aW9uOiBDaGVzc2ltYWxzUG9zaXRpb24sXG4pOiBDaGVzc2ltYWxzUGllY2UgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYWN0aXZlUGllY2VzKHN0YXRlKS5maW5kKFxuICAgIChwaWVjZSkgPT5cbiAgICAgICFwaWVjZS5jYXB0dXJlZCAmJiBwaWVjZS5wb3NpdGlvbi5yb3cgPT09IHBvc2l0aW9uLnJvdyAmJiBwaWVjZS5wb3NpdGlvbi5jb2wgPT09IHBvc2l0aW9uLmNvbCxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENoZXNzaW1hbHNMZWdhbE1vdmVzKFxuICBzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSxcbiAgcGllY2VJZDogc3RyaW5nLFxuICBhbmltYWw/OiBDaGVzc2ltYWxzQW5pbWFsVHlwZSxcbik6IENoZXNzaW1hbHNNb3ZlW10ge1xuICBpZiAoc3RhdGUuc3RhdHVzICE9PSAnaW5fcHJvZ3Jlc3MnKSByZXR1cm4gW107XG5cbiAgY29uc3QgcGllY2UgPSBhY3RpdmVQaWVjZXMoc3RhdGUpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHBpZWNlSWQgJiYgIWl0ZW0uY2FwdHVyZWQpO1xuICBpZiAoIXBpZWNlIHx8IHBpZWNlLmNvbG9yICE9PSBzdGF0ZS5jdXJyZW50VHVybikgcmV0dXJuIFtdO1xuXG4gIGlmIChhbmltYWwpIHtcbiAgICBjb25zdCBwbGF5ZXIgPSBzdGF0ZS5wbGF5ZXJzW3BpZWNlLmNvbG9yXTtcbiAgICBpZiAoIXBsYXllci5wb3dlclVubG9ja2VkIHx8IHBsYXllci5jYXJkc1thbmltYWxdLnVzZWQpIHJldHVybiBbXTtcbiAgICByZXR1cm4gZ2V0UG93ZXJNb3ZlcyhzdGF0ZSwgcGllY2UsIGFuaW1hbCk7XG4gIH1cblxuICByZXR1cm4gZ2V0QmFzaWNNb3ZlcyhzdGF0ZSwgcGllY2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2hlc3NpbWFsc0FsbExlZ2FsTW92ZXMoXG4gIHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlLFxuICBjb2xvcjogQ2hlc3NpbWFsc1BsYXllckNvbG9yID0gc3RhdGUuY3VycmVudFR1cm4sXG4pOiBDaGVzc2ltYWxzTW92ZVtdIHtcbiAgaWYgKHN0YXRlLnN0YXR1cyAhPT0gJ2luX3Byb2dyZXNzJykgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IHR1cm5TdGF0ZSA9IGNvbG9yID09PSBzdGF0ZS5jdXJyZW50VHVybiA/IHN0YXRlIDogeyAuLi5zdGF0ZSwgY3VycmVudFR1cm46IGNvbG9yIH07XG4gIGNvbnN0IHBsYXllciA9IHR1cm5TdGF0ZS5wbGF5ZXJzW2NvbG9yXTtcbiAgY29uc3QgbW92ZXM6IENoZXNzaW1hbHNNb3ZlW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHBpZWNlIG9mIGFjdGl2ZVBpZWNlcyh0dXJuU3RhdGUpKSB7XG4gICAgaWYgKHBpZWNlLmNhcHR1cmVkIHx8IHBpZWNlLmNvbG9yICE9PSBjb2xvcikgY29udGludWU7XG5cbiAgICBtb3Zlcy5wdXNoKC4uLmdldENoZXNzaW1hbHNMZWdhbE1vdmVzKHR1cm5TdGF0ZSwgcGllY2UuaWQpKTtcbiAgICBpZiAoIXBsYXllci5wb3dlclVubG9ja2VkKSBjb250aW51ZTtcblxuICAgIGZvciAoY29uc3QgYW5pbWFsIG9mIEFOSU1BTFMpIHtcbiAgICAgIGlmIChwbGF5ZXIuY2FyZHNbYW5pbWFsXS51c2VkKSBjb250aW51ZTtcbiAgICAgIG1vdmVzLnB1c2goLi4uZ2V0Q2hlc3NpbWFsc0xlZ2FsTW92ZXModHVyblN0YXRlLCBwaWVjZS5pZCwgYW5pbWFsKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1vdmVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hvb3NlQ2hlc3NpbWFsc0JvdE1vdmUoXG4gIHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlLFxuICBkaWZmaWN1bHR5OiBDaGVzc2ltYWxzQm90RGlmZmljdWx0eSA9ICdub3JtYWwnLFxuKTogQ2hlc3NpbWFsc01vdmUgfCB1bmRlZmluZWQge1xuICBjb25zdCBtb3ZlcyA9IGdldENoZXNzaW1hbHNBbGxMZWdhbE1vdmVzKHN0YXRlKTtcbiAgaWYgKG1vdmVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICBjb25zdCBzY29yZWQgPSBtb3Zlc1xuICAgIC5tYXAoKG1vdmUpID0+ICh7IG1vdmUsIHNjb3JlOiBzY29yZUJvdE1vdmVXaXRoTG9va2FoZWFkKHN0YXRlLCBtb3ZlLCBkaWZmaWN1bHR5KSB9KSlcbiAgICAuc29ydCgoYSwgYikgPT4gYi5zY29yZSAtIGEuc2NvcmUpO1xuXG4gIGlmIChkaWZmaWN1bHR5ID09PSAnZWFzeScpIHtcbiAgICBjb25zdCBwbGF5YWJsZSA9IHNjb3JlZC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uc2NvcmUgPiAtMzAwMCk7XG4gICAgcmV0dXJuIHBpY2tOb2lzeUJvdE1vdmUocGxheWFibGUubGVuZ3RoID8gcGxheWFibGUgOiBzY29yZWQsIDAuNTUpO1xuICB9XG5cbiAgaWYgKGRpZmZpY3VsdHkgPT09ICdub3JtYWwnKSB7XG4gICAgcmV0dXJuIHNjb3JlZFswXT8ubW92ZTtcbiAgfVxuXG4gIGNvbnN0IHdpbm5pbmdNb3ZlID0gc2NvcmVkLmZpbmQoKGl0ZW0pID0+IGl0ZW0uc2NvcmUgPj0gMTAwMDApO1xuICBpZiAod2lubmluZ01vdmUpIHJldHVybiB3aW5uaW5nTW92ZS5tb3ZlO1xuXG4gIGNvbnN0IG9wcG9uZW50V2lubmluZ1RhcmdldHMgPSBuZXcgU2V0KFxuICAgIGdldEltbWVkaWF0ZVdpbm5pbmdNb3ZlcyhzdGF0ZSwgb3RoZXJDb2xvcihzdGF0ZS5jdXJyZW50VHVybikpLm1hcCgobW92ZSkgPT4gcG9zaXRpb25LZXkobW92ZS50bykpLFxuICApO1xuICBpZiAob3Bwb25lbnRXaW5uaW5nVGFyZ2V0cy5zaXplID4gMCkge1xuICAgIGNvbnN0IGJsb2NraW5nTW92ZSA9IHNjb3JlZC5maW5kKFxuICAgICAgKGl0ZW0pID0+IGl0ZW0ubW92ZS5jYXB0dXJlc1BpZWNlSWQgfHwgb3Bwb25lbnRXaW5uaW5nVGFyZ2V0cy5oYXMocG9zaXRpb25LZXkoaXRlbS5tb3ZlLnRvKSksXG4gICAgKTtcbiAgICBpZiAoYmxvY2tpbmdNb3ZlKSByZXR1cm4gYmxvY2tpbmdNb3ZlLm1vdmU7XG4gIH1cblxuICByZXR1cm4gc2NvcmVkWzBdPy5tb3ZlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlDaGVzc2ltYWxzTW92ZShcbiAgc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsXG4gIGNhbmRpZGF0ZTogQ2hlc3NpbWFsc01vdmUsXG4pOiBDaGVzc2ltYWxzR2FtZVN0YXRlIHtcbiAgY29uc3QgbGVnYWxNb3ZlID0gZ2V0Q2hlc3NpbWFsc0xlZ2FsTW92ZXMoc3RhdGUsIGNhbmRpZGF0ZS5waWVjZUlkLCBjYW5kaWRhdGUuYW5pbWFsKS5maW5kKChtb3ZlKSA9PlxuICAgIHNhbWVQb3NpdGlvbihtb3ZlLnRvLCBjYW5kaWRhdGUudG8pLFxuICApO1xuXG4gIGlmICghbGVnYWxNb3ZlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDSEVTU0lNQUxTX0lMTEVHQUxfTU9WRScpO1xuICB9XG5cbiAgY29uc3QgbW92ZWRQaWVjZSA9IGFjdGl2ZVBpZWNlcyhzdGF0ZSkuZmluZCgocGllY2UpID0+IHBpZWNlLmlkID09PSBsZWdhbE1vdmUucGllY2VJZCk7XG4gIGlmICghbW92ZWRQaWVjZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ0hFU1NJTUFMU19QSUVDRV9OT1RfRk9VTkQnKTtcbiAgfVxuXG4gIGNvbnN0IHBpZWNlcyA9IGFjdGl2ZVBpZWNlcyhzdGF0ZSkubWFwKChwaWVjZSkgPT4ge1xuICAgIGlmIChwaWVjZS5pZCA9PT0gbGVnYWxNb3ZlLnBpZWNlSWQpIHtcbiAgICAgIHJldHVybiB7IC4uLnBpZWNlLCBwb3NpdGlvbjogeyAuLi5sZWdhbE1vdmUudG8gfSB9O1xuICAgIH1cbiAgICBpZiAocGllY2UuaWQgPT09IGxlZ2FsTW92ZS5jYXB0dXJlc1BpZWNlSWQpIHtcbiAgICAgIHJldHVybiB7IC4uLnBpZWNlLCBjYXB0dXJlZDogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gcGllY2U7XG4gIH0pO1xuXG4gIGNvbnN0IHBsYXllcnMgPSB7XG4gICAgLi4uc3RhdGUucGxheWVycyxcbiAgICBbbW92ZWRQaWVjZS5jb2xvcl06IHtcbiAgICAgIC4uLnN0YXRlLnBsYXllcnNbbW92ZWRQaWVjZS5jb2xvcl0sXG4gICAgICBjYXJkczpcbiAgICAgICAgbGVnYWxNb3ZlLmtpbmQgPT09ICdwb3dlcicgJiYgbGVnYWxNb3ZlLmFuaW1hbFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5zdGF0ZS5wbGF5ZXJzW21vdmVkUGllY2UuY29sb3JdLmNhcmRzLFxuICAgICAgICAgICAgICBbbGVnYWxNb3ZlLmFuaW1hbF06IHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZS5wbGF5ZXJzW21vdmVkUGllY2UuY29sb3JdLmNhcmRzW2xlZ2FsTW92ZS5hbmltYWxdLFxuICAgICAgICAgICAgICAgIHVzZWQ6IHRydWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiBzdGF0ZS5wbGF5ZXJzW21vdmVkUGllY2UuY29sb3JdLmNhcmRzLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgbmV4dFN0YXRlID0gcmVmcmVzaENoZXNzaW1hbHNQb3dlclVubG9ja3Moe1xuICAgIC4uLnN0YXRlLFxuICAgIHBpZWNlcyxcbiAgICBwbGF5ZXJzLFxuICAgIGN1cnJlbnRUdXJuOiBvdGhlckNvbG9yKG1vdmVkUGllY2UuY29sb3IpLFxuICAgIG1vdmVDb3VudDogc3RhdGUubW92ZUNvdW50ICsgMSxcbiAgICBsYXN0TW92ZTogbGVnYWxNb3ZlLFxuICB9KTtcblxuICBjb25zdCBwcm9tb3RlZCA9IGlzUHJvbW90aW9uUm93KG5leHRTdGF0ZS5ib2FyZFNpemUsIG1vdmVkUGllY2UuY29sb3IsIGxlZ2FsTW92ZS50byk7XG4gIGNvbnN0IGVuZW15UGllY2VzID0gYWN0aXZlUGllY2VzKG5leHRTdGF0ZSkuZmlsdGVyKFxuICAgIChwaWVjZSkgPT4gcGllY2UuY29sb3IgIT09IG1vdmVkUGllY2UuY29sb3IgJiYgIXBpZWNlLmNhcHR1cmVkLFxuICApO1xuXG4gIGlmIChwcm9tb3RlZCB8fCBlbmVteVBpZWNlcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFN0YXRlLFxuICAgICAgc3RhdHVzOiAnZmluaXNoZWQnLFxuICAgICAgd2lubmVyOiBtb3ZlZFBpZWNlLmNvbG9yLFxuICAgICAgd2lubmVyUmVhc29uOiBwcm9tb3RlZCA/ICdwcm9tb3Rpb24nIDogJ2VsaW1pbmF0aW9uJyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG5leHRTdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2lnbkNoZXNzaW1hbHNHYW1lKFxuICBzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSxcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcixcbik6IENoZXNzaW1hbHNHYW1lU3RhdGUge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIHN0YXR1czogJ2ZpbmlzaGVkJyxcbiAgICB3aW5uZXI6IG90aGVyQ29sb3IoY29sb3IpLFxuICAgIHdpbm5lclJlYXNvbjogJ3Jlc2lnbmF0aW9uJyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvc2l0aW9uS2V5KHBvc2l0aW9uOiBDaGVzc2ltYWxzUG9zaXRpb24pOiBzdHJpbmcge1xuICByZXR1cm4gYCR7cG9zaXRpb24ucm93fToke3Bvc2l0aW9uLmNvbH1gO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDYXJkcygpIHtcbiAgcmV0dXJuIEFOSU1BTFMucmVkdWNlKFxuICAgIChjYXJkcywgdHlwZSkgPT4gKHtcbiAgICAgIC4uLmNhcmRzLFxuICAgICAgW3R5cGVdOiB7IHR5cGUsIHVzZWQ6IGZhbHNlIH0sXG4gICAgfSksXG4gICAge30gYXMgUmVjb3JkPENoZXNzaW1hbHNBbmltYWxUeXBlLCB7IHR5cGU6IENoZXNzaW1hbHNBbmltYWxUeXBlOyB1c2VkOiBib29sZWFuIH0+LFxuICApO1xufVxuXG5mdW5jdGlvbiBhY3RpdmVQaWVjZXMoc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUpOiBDaGVzc2ltYWxzUGllY2VbXSB7XG4gIHJldHVybiBzdGF0ZS5waWVjZXMuZmlsdGVyKChwaWVjZSk6IHBpZWNlIGlzIENoZXNzaW1hbHNQaWVjZSA9PiAhIXBpZWNlKTtcbn1cblxuZnVuY3Rpb24gZ2V0QmFzaWNNb3ZlcyhzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSwgcGllY2U6IENoZXNzaW1hbHNQaWVjZSk6IENoZXNzaW1hbHNNb3ZlW10ge1xuICBjb25zdCBkaXJlY3Rpb24gPSBwaWVjZS5jb2xvciA9PT0gJ3doaXRlJyA/IC0xIDogMTtcbiAgY29uc3QgbW92ZXM6IENoZXNzaW1hbHNNb3ZlW10gPSBbXTtcbiAgY29uc3QgZm9yd2FyZCA9IHsgcm93OiBwaWVjZS5wb3NpdGlvbi5yb3cgKyBkaXJlY3Rpb24sIGNvbDogcGllY2UucG9zaXRpb24uY29sIH07XG5cbiAgaWYgKGlzSW5zaWRlQm9hcmQoc3RhdGUuYm9hcmRTaXplLCBmb3J3YXJkKSAmJiAhZ2V0Q2hlc3NpbWFsc1BpZWNlQXQoc3RhdGUsIGZvcndhcmQpKSB7XG4gICAgbW92ZXMucHVzaCh7XG4gICAgICBwaWVjZUlkOiBwaWVjZS5pZCxcbiAgICAgIGZyb206IHsgLi4ucGllY2UucG9zaXRpb24gfSxcbiAgICAgIHRvOiBmb3J3YXJkLFxuICAgICAga2luZDogJ2Jhc2ljJyxcbiAgICB9KTtcbiAgfVxuXG4gIGZvciAoY29uc3QgY29sT2Zmc2V0IG9mIFstMSwgMV0pIHtcbiAgICBjb25zdCB0YXJnZXQgPSB7IHJvdzogcGllY2UucG9zaXRpb24ucm93ICsgZGlyZWN0aW9uLCBjb2w6IHBpZWNlLnBvc2l0aW9uLmNvbCArIGNvbE9mZnNldCB9O1xuICAgIGNvbnN0IHRhcmdldFBpZWNlID0gZ2V0Q2hlc3NpbWFsc1BpZWNlQXQoc3RhdGUsIHRhcmdldCk7XG4gICAgaWYgKFxuICAgICAgaXNJbnNpZGVCb2FyZChzdGF0ZS5ib2FyZFNpemUsIHRhcmdldCkgJiZcbiAgICAgIHRhcmdldFBpZWNlICYmXG4gICAgICB0YXJnZXRQaWVjZS5jb2xvciAhPT0gcGllY2UuY29sb3IgJiZcbiAgICAgICFpc1Byb21vdGlvblJvdyhzdGF0ZS5ib2FyZFNpemUsIHBpZWNlLmNvbG9yLCB0YXJnZXQpXG4gICAgKSB7XG4gICAgICBtb3Zlcy5wdXNoKHtcbiAgICAgICAgcGllY2VJZDogcGllY2UuaWQsXG4gICAgICAgIGZyb206IHsgLi4ucGllY2UucG9zaXRpb24gfSxcbiAgICAgICAgdG86IHRhcmdldCxcbiAgICAgICAga2luZDogJ2Jhc2ljJyxcbiAgICAgICAgY2FwdHVyZXNQaWVjZUlkOiB0YXJnZXRQaWVjZS5pZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtb3Zlcztcbn1cblxuZnVuY3Rpb24gZ2V0UG93ZXJNb3ZlcyhcbiAgc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsXG4gIHBpZWNlOiBDaGVzc2ltYWxzUGllY2UsXG4gIGFuaW1hbDogQ2hlc3NpbWFsc0FuaW1hbFR5cGUsXG4pOiBDaGVzc2ltYWxzTW92ZVtdIHtcbiAgaWYgKGFuaW1hbCA9PT0gJ2thbmdhcm9vJykge1xuICAgIHJldHVybiBnZXRLYW5nYXJvb01vdmVzKHN0YXRlLCBwaWVjZSk7XG4gIH1cblxuICBjb25zdCBkaXJlY3Rpb25zID0gZ2V0UG93ZXJEaXJlY3Rpb25zKGFuaW1hbCk7XG4gIGNvbnN0IG1vdmVzOiBDaGVzc2ltYWxzTW92ZVtdID0gW107XG5cbiAgZm9yIChjb25zdCBkaXJlY3Rpb24gb2YgZGlyZWN0aW9ucykge1xuICAgIGZvciAobGV0IGRpc3RhbmNlID0gMTsgZGlzdGFuY2UgPD0gMzsgZGlzdGFuY2UgKz0gMSkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0ge1xuICAgICAgICByb3c6IHBpZWNlLnBvc2l0aW9uLnJvdyArIGRpcmVjdGlvbi5yb3cgKiBkaXN0YW5jZSxcbiAgICAgICAgY29sOiBwaWVjZS5wb3NpdGlvbi5jb2wgKyBkaXJlY3Rpb24uY29sICogZGlzdGFuY2UsXG4gICAgICB9O1xuICAgICAgaWYgKCFpc0luc2lkZUJvYXJkKHN0YXRlLmJvYXJkU2l6ZSwgdGFyZ2V0KSkgYnJlYWs7XG4gICAgICBpZiAoaXNQcm9tb3Rpb25Sb3coc3RhdGUuYm9hcmRTaXplLCBwaWVjZS5jb2xvciwgdGFyZ2V0KSkgYnJlYWs7XG5cbiAgICAgIGNvbnN0IHRhcmdldFBpZWNlID0gZ2V0Q2hlc3NpbWFsc1BpZWNlQXQoc3RhdGUsIHRhcmdldCk7XG4gICAgICBpZiAodGFyZ2V0UGllY2U/LmNvbG9yID09PSBwaWVjZS5jb2xvcikgYnJlYWs7XG5cbiAgICAgIG1vdmVzLnB1c2goe1xuICAgICAgICBwaWVjZUlkOiBwaWVjZS5pZCxcbiAgICAgICAgZnJvbTogeyAuLi5waWVjZS5wb3NpdGlvbiB9LFxuICAgICAgICB0bzogdGFyZ2V0LFxuICAgICAgICBraW5kOiAncG93ZXInLFxuICAgICAgICBhbmltYWwsXG4gICAgICAgIGNhcHR1cmVzUGllY2VJZDogdGFyZ2V0UGllY2U/LmlkLFxuICAgICAgfSk7XG5cbiAgICAgIGlmICh0YXJnZXRQaWVjZSkgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1vdmVzO1xufVxuXG5mdW5jdGlvbiBnZXRLYW5nYXJvb01vdmVzKHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlLCBwaWVjZTogQ2hlc3NpbWFsc1BpZWNlKTogQ2hlc3NpbWFsc01vdmVbXSB7XG4gIGNvbnN0IG1vdmVzOiBDaGVzc2ltYWxzTW92ZVtdID0gW107XG4gIGNvbnN0IGp1bXBzID0gW1xuICAgIHsgcm93OiAtMiwgY29sOiAtMSB9LFxuICAgIHsgcm93OiAtMiwgY29sOiAxIH0sXG4gICAgeyByb3c6IC0xLCBjb2w6IC0yIH0sXG4gICAgeyByb3c6IC0xLCBjb2w6IDIgfSxcbiAgICB7IHJvdzogMSwgY29sOiAtMiB9LFxuICAgIHsgcm93OiAxLCBjb2w6IDIgfSxcbiAgICB7IHJvdzogMiwgY29sOiAtMSB9LFxuICAgIHsgcm93OiAyLCBjb2w6IDEgfSxcbiAgXTtcblxuICBmb3IgKGNvbnN0IGp1bXAgb2YganVtcHMpIHtcbiAgICBjb25zdCB0YXJnZXQgPSB7XG4gICAgICByb3c6IHBpZWNlLnBvc2l0aW9uLnJvdyArIGp1bXAucm93LFxuICAgICAgY29sOiBwaWVjZS5wb3NpdGlvbi5jb2wgKyBqdW1wLmNvbCxcbiAgICB9O1xuICAgIGlmICghaXNJbnNpZGVCb2FyZChzdGF0ZS5ib2FyZFNpemUsIHRhcmdldCkpIGNvbnRpbnVlO1xuICAgIGlmIChpc1Byb21vdGlvblJvdyhzdGF0ZS5ib2FyZFNpemUsIHBpZWNlLmNvbG9yLCB0YXJnZXQpKSBjb250aW51ZTtcblxuICAgIGNvbnN0IHRhcmdldFBpZWNlID0gZ2V0Q2hlc3NpbWFsc1BpZWNlQXQoc3RhdGUsIHRhcmdldCk7XG4gICAgaWYgKHRhcmdldFBpZWNlPy5jb2xvciA9PT0gcGllY2UuY29sb3IpIGNvbnRpbnVlO1xuXG4gICAgbW92ZXMucHVzaCh7XG4gICAgICBwaWVjZUlkOiBwaWVjZS5pZCxcbiAgICAgIGZyb206IHsgLi4ucGllY2UucG9zaXRpb24gfSxcbiAgICAgIHRvOiB0YXJnZXQsXG4gICAgICBraW5kOiAncG93ZXInLFxuICAgICAgYW5pbWFsOiAna2FuZ2Fyb28nLFxuICAgICAgY2FwdHVyZXNQaWVjZUlkOiB0YXJnZXRQaWVjZT8uaWQsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbW92ZXM7XG59XG5cbmZ1bmN0aW9uIHNjb3JlQm90TW92ZShcbiAgc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsXG4gIG1vdmU6IENoZXNzaW1hbHNNb3ZlLFxuICBkaWZmaWN1bHR5OiBDaGVzc2ltYWxzQm90RGlmZmljdWx0eSxcbik6IG51bWJlciB7XG4gIGNvbnN0IGNvbG9yID0gc3RhdGUuY3VycmVudFR1cm47XG4gIGNvbnN0IHRhcmdldFBpZWNlID0gbW92ZS5jYXB0dXJlc1BpZWNlSWRcbiAgICA/IGFjdGl2ZVBpZWNlcyhzdGF0ZSkuZmluZCgocGllY2UpID0+IHBpZWNlLmlkID09PSBtb3ZlLmNhcHR1cmVzUGllY2VJZClcbiAgICA6IHVuZGVmaW5lZDtcbiAgY29uc3QgYWR2YW5jZW1lbnQgPVxuICAgIGNvbG9yID09PSAnd2hpdGUnID8gc3RhdGUuYm9hcmRTaXplIC0gMSAtIG1vdmUudG8ucm93IDogbW92ZS50by5yb3c7XG4gIGxldCBzY29yZSA9IGFkdmFuY2VtZW50ICogMjQ7XG5cbiAgaWYgKG1vdmUua2luZCA9PT0gJ2Jhc2ljJyAmJiBpc1Byb21vdGlvblJvdyhzdGF0ZS5ib2FyZFNpemUsIGNvbG9yLCBtb3ZlLnRvKSkge1xuICAgIHNjb3JlICs9IDEwMDAwO1xuICB9XG4gIGlmICh0YXJnZXRQaWVjZSkge1xuICAgIHNjb3JlICs9IDUyMDtcbiAgICBjb25zdCB0YXJnZXRBZHZhbmNlbWVudCA9XG4gICAgICB0YXJnZXRQaWVjZS5jb2xvciA9PT0gJ3doaXRlJ1xuICAgICAgICA/IHN0YXRlLmJvYXJkU2l6ZSAtIDEgLSB0YXJnZXRQaWVjZS5wb3NpdGlvbi5yb3dcbiAgICAgICAgOiB0YXJnZXRQaWVjZS5wb3NpdGlvbi5yb3c7XG4gICAgc2NvcmUgKz0gdGFyZ2V0QWR2YW5jZW1lbnQgKiAxNjtcbiAgfVxuICBpZiAobW92ZS5raW5kID09PSAncG93ZXInKSB7XG4gICAgc2NvcmUgKz0gdGFyZ2V0UGllY2UgPyAxMjAgOiBkaWZmaWN1bHR5ID09PSAnaGFyZCcgPyAtNjAgOiAtMzA7XG4gIH1cbiAgaWYgKG1vdmUuYW5pbWFsID09PSAnbGlvbicpIHNjb3JlIC09IDIwO1xuICBpZiAobW92ZS5hbmltYWwgPT09ICdrYW5nYXJvbycpIHNjb3JlICs9IDE0O1xuICBpZiAod291bGRVbmxvY2tQb3dlcihzdGF0ZSwgY29sb3IsIG1vdmUudG8pKSBzY29yZSArPSA5MDtcbiAgaWYgKGRpZmZpY3VsdHkgPT09ICdoYXJkJyAmJiBpc1NxdWFyZVZ1bG5lcmFibGVBZnRlck1vdmUoc3RhdGUsIG1vdmUpKSBzY29yZSAtPSB0YXJnZXRQaWVjZSA/IDgwIDogMTQwO1xuXG4gIHJldHVybiBzY29yZTtcbn1cblxuZnVuY3Rpb24gc2NvcmVCb3RNb3ZlV2l0aExvb2thaGVhZChcbiAgc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsXG4gIG1vdmU6IENoZXNzaW1hbHNNb3ZlLFxuICBkaWZmaWN1bHR5OiBDaGVzc2ltYWxzQm90RGlmZmljdWx0eSxcbik6IG51bWJlciB7XG4gIGxldCBzY29yZSA9IHNjb3JlQm90TW92ZShzdGF0ZSwgbW92ZSwgZGlmZmljdWx0eSk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBhZnRlck1vdmUgPSBhcHBseUNoZXNzaW1hbHNNb3ZlKHN0YXRlLCBtb3ZlKTtcbiAgICBpZiAoYWZ0ZXJNb3ZlLnN0YXR1cyA9PT0gJ2ZpbmlzaGVkJykgcmV0dXJuIHNjb3JlICsgNTAwMDtcblxuICAgIGNvbnN0IG9wcG9uZW50TW92ZXMgPSBnZXRDaGVzc2ltYWxzQWxsTGVnYWxNb3ZlcyhhZnRlck1vdmUpO1xuICAgIGNvbnN0IG9wcG9uZW50SW1tZWRpYXRlV2luID0gb3Bwb25lbnRNb3Zlcy5zb21lKFxuICAgICAgKG9wcG9uZW50TW92ZSkgPT5cbiAgICAgICAgb3Bwb25lbnRNb3ZlLmtpbmQgPT09ICdiYXNpYycgJiZcbiAgICAgICAgaXNQcm9tb3Rpb25Sb3coYWZ0ZXJNb3ZlLmJvYXJkU2l6ZSwgYWZ0ZXJNb3ZlLmN1cnJlbnRUdXJuLCBvcHBvbmVudE1vdmUudG8pLFxuICAgICk7XG4gICAgaWYgKG9wcG9uZW50SW1tZWRpYXRlV2luKSB7XG4gICAgICBzY29yZSAtPSBkaWZmaWN1bHR5ID09PSAnZWFzeScgPyAxODAwIDogZGlmZmljdWx0eSA9PT0gJ25vcm1hbCcgPyA1MjAwIDogODAwMDtcbiAgICB9XG5cbiAgICBjb25zdCBtb3ZlZFBpZWNlID0gYWZ0ZXJNb3ZlLnBpZWNlcy5maW5kKChwaWVjZSkgPT4gcGllY2UuaWQgPT09IG1vdmUucGllY2VJZCAmJiAhcGllY2UuY2FwdHVyZWQpO1xuICAgIGlmIChtb3ZlZFBpZWNlKSB7XG4gICAgICBjb25zdCBjYW5DYXB0dXJlTW92ZWRQaWVjZSA9IG9wcG9uZW50TW92ZXMuc29tZSgob3Bwb25lbnRNb3ZlKSA9PiBvcHBvbmVudE1vdmUuY2FwdHVyZXNQaWVjZUlkID09PSBtb3ZlLnBpZWNlSWQpO1xuICAgICAgaWYgKGNhbkNhcHR1cmVNb3ZlZFBpZWNlKSB7XG4gICAgICAgIHNjb3JlIC09IG1vdmUuY2FwdHVyZXNQaWVjZUlkID8gMTgwIDogZGlmZmljdWx0eSA9PT0gJ2Vhc3knID8gMTIwIDogZGlmZmljdWx0eSA9PT0gJ25vcm1hbCcgPyAzNjAgOiA1NjA7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNlbnRlciA9IChhZnRlck1vdmUuYm9hcmRTaXplIC0gMSkgLyAyO1xuICAgICAgY29uc3QgY2VudGVyQ29udHJvbCA9IE1hdGgubWF4KDAsIGFmdGVyTW92ZS5ib2FyZFNpemUgLyAyIC0gTWF0aC5hYnMobW92ZWRQaWVjZS5wb3NpdGlvbi5jb2wgLSBjZW50ZXIpKTtcbiAgICAgIHNjb3JlICs9IGNlbnRlckNvbnRyb2wgKiAoZGlmZmljdWx0eSA9PT0gJ2hhcmQnID8gMTggOiAxMCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3Bwb25lbnRCZXN0UmVwbHkgPSBvcHBvbmVudE1vdmVzXG4gICAgICAubWFwKChvcHBvbmVudE1vdmUpID0+IHNjb3JlQm90TW92ZShhZnRlck1vdmUsIG9wcG9uZW50TW92ZSwgZGlmZmljdWx0eSkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYiAtIGEpWzBdO1xuXG4gICAgaWYgKG9wcG9uZW50QmVzdFJlcGx5KSB7XG4gICAgICBjb25zdCByZXBseVdlaWdodCA9IGRpZmZpY3VsdHkgPT09ICdlYXN5JyA/IDAuMTIgOiBkaWZmaWN1bHR5ID09PSAnbm9ybWFsJyA/IDAuMzIgOiAwLjQ4O1xuICAgICAgc2NvcmUgLT0gb3Bwb25lbnRCZXN0UmVwbHkgKiByZXBseVdlaWdodDtcbiAgICB9XG4gIH0gY2F0Y2gge1xuICAgIHNjb3JlIC09IDEwMDA7XG4gIH1cblxuICByZXR1cm4gc2NvcmU7XG59XG5cbmZ1bmN0aW9uIHBpY2tOb2lzeUJvdE1vdmUoXG4gIHNjb3JlZDogQXJyYXk8eyBtb3ZlOiBDaGVzc2ltYWxzTW92ZTsgc2NvcmU6IG51bWJlciB9PixcbiAgc3ByZWFkOiBudW1iZXIsXG4pOiBDaGVzc2ltYWxzTW92ZSB8IHVuZGVmaW5lZCB7XG4gIGlmIChzY29yZWQubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkO1xuICBjb25zdCBwb29sU2l6ZSA9IE1hdGgubWF4KDEsIE1hdGguY2VpbChzY29yZWQubGVuZ3RoICogc3ByZWFkKSk7XG4gIGNvbnN0IHBvb2wgPSBzY29yZWQuc2xpY2UoMCwgcG9vbFNpemUpO1xuICBjb25zdCB0b3BTY29yZSA9IHBvb2xbMF0/LnNjb3JlID8/IDA7XG4gIGNvbnN0IHdlaWdodGVkID0gcG9vbC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcmVsYXRpdmUgPSBNYXRoLm1heCgwLCBpdGVtLnNjb3JlIC0gdG9wU2NvcmUgKyAxMjAwKTtcbiAgICBjb25zdCB3ZWlnaHQgPSBNYXRoLm1heCgxLCByZWxhdGl2ZSAvIDEyMCArIChwb29sLmxlbmd0aCAtIGluZGV4KSAqIDIpO1xuICAgIHJldHVybiB7IC4uLml0ZW0sIHdlaWdodCB9O1xuICB9KTtcbiAgY29uc3QgdG90YWxXZWlnaHQgPSB3ZWlnaHRlZC5yZWR1Y2UoKHRvdGFsLCBpdGVtKSA9PiB0b3RhbCArIGl0ZW0ud2VpZ2h0LCAwKTtcbiAgbGV0IGN1cnNvciA9IE1hdGgucmFuZG9tKCkgKiB0b3RhbFdlaWdodDtcbiAgZm9yIChjb25zdCBpdGVtIG9mIHdlaWdodGVkKSB7XG4gICAgY3Vyc29yIC09IGl0ZW0ud2VpZ2h0O1xuICAgIGlmIChjdXJzb3IgPD0gMCkgcmV0dXJuIGl0ZW0ubW92ZTtcbiAgfVxuICByZXR1cm4gcG9vbFswXT8ubW92ZTtcbn1cblxuZnVuY3Rpb24gZ2V0SW1tZWRpYXRlV2lubmluZ01vdmVzKFxuICBzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSxcbiAgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcixcbik6IENoZXNzaW1hbHNNb3ZlW10ge1xuICByZXR1cm4gZ2V0Q2hlc3NpbWFsc0FsbExlZ2FsTW92ZXMoc3RhdGUsIGNvbG9yKS5maWx0ZXIoXG4gICAgKG1vdmUpID0+IG1vdmUua2luZCA9PT0gJ2Jhc2ljJyAmJiBpc1Byb21vdGlvblJvdyhzdGF0ZS5ib2FyZFNpemUsIGNvbG9yLCBtb3ZlLnRvKSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gd291bGRVbmxvY2tQb3dlcihcbiAgc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsXG4gIGNvbG9yOiBDaGVzc2ltYWxzUGxheWVyQ29sb3IsXG4gIHBvc2l0aW9uOiBDaGVzc2ltYWxzUG9zaXRpb24sXG4pOiBib29sZWFuIHtcbiAgaWYgKHN0YXRlLnBsYXllcnNbY29sb3JdLnBvd2VyVW5sb2NrZWQpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgY2VudGVyVG9wID0gc3RhdGUuYm9hcmRTaXplIC8gMiAtIDE7XG4gIGNvbnN0IGNlbnRlckJvdHRvbSA9IHN0YXRlLmJvYXJkU2l6ZSAvIDI7XG4gIHJldHVybiBjb2xvciA9PT0gJ3doaXRlJyA/IHBvc2l0aW9uLnJvdyA8PSBjZW50ZXJUb3AgOiBwb3NpdGlvbi5yb3cgPj0gY2VudGVyQm90dG9tO1xufVxuXG5mdW5jdGlvbiBpc1NxdWFyZVZ1bG5lcmFibGVBZnRlck1vdmUoc3RhdGU6IENoZXNzaW1hbHNHYW1lU3RhdGUsIG1vdmU6IENoZXNzaW1hbHNNb3ZlKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgY29uc3QgYWZ0ZXJNb3ZlID0gYXBwbHlDaGVzc2ltYWxzTW92ZShzdGF0ZSwgbW92ZSk7XG4gICAgaWYgKGFmdGVyTW92ZS5zdGF0dXMgPT09ICdmaW5pc2hlZCcpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gZ2V0Q2hlc3NpbWFsc0FsbExlZ2FsTW92ZXMoYWZ0ZXJNb3ZlKS5zb21lKChlbmVteU1vdmUpID0+XG4gICAgICBzYW1lUG9zaXRpb24oZW5lbXlNb3ZlLnRvLCBtb3ZlLnRvKSAmJiAhIWVuZW15TW92ZS5jYXB0dXJlc1BpZWNlSWQsXG4gICAgKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFBvd2VyRGlyZWN0aW9ucyhhbmltYWw6IENoZXNzaW1hbHNBbmltYWxUeXBlKTogQ2hlc3NpbWFsc1Bvc2l0aW9uW10ge1xuICBpZiAoYW5pbWFsID09PSAnZWFnbGUnKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHsgcm93OiAtMSwgY29sOiAtMSB9LFxuICAgICAgeyByb3c6IC0xLCBjb2w6IDEgfSxcbiAgICAgIHsgcm93OiAxLCBjb2w6IC0xIH0sXG4gICAgICB7IHJvdzogMSwgY29sOiAxIH0sXG4gICAgXTtcbiAgfVxuICBpZiAoYW5pbWFsID09PSAnYnVsbCcpIHtcbiAgICByZXR1cm4gW1xuICAgICAgeyByb3c6IC0xLCBjb2w6IDAgfSxcbiAgICAgIHsgcm93OiAxLCBjb2w6IDAgfSxcbiAgICAgIHsgcm93OiAwLCBjb2w6IC0xIH0sXG4gICAgICB7IHJvdzogMCwgY29sOiAxIH0sXG4gICAgXTtcbiAgfVxuICByZXR1cm4gW1xuICAgIHsgcm93OiAtMSwgY29sOiAtMSB9LFxuICAgIHsgcm93OiAtMSwgY29sOiAwIH0sXG4gICAgeyByb3c6IC0xLCBjb2w6IDEgfSxcbiAgICB7IHJvdzogMCwgY29sOiAtMSB9LFxuICAgIHsgcm93OiAwLCBjb2w6IDEgfSxcbiAgICB7IHJvdzogMSwgY29sOiAtMSB9LFxuICAgIHsgcm93OiAxLCBjb2w6IDAgfSxcbiAgICB7IHJvdzogMSwgY29sOiAxIH0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIHJlZnJlc2hDaGVzc2ltYWxzUG93ZXJVbmxvY2tzKHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlKTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGUsXG4gICAgcGxheWVyczoge1xuICAgICAgd2hpdGU6IHtcbiAgICAgICAgLi4uc3RhdGUucGxheWVycy53aGl0ZSxcbiAgICAgICAgcG93ZXJVbmxvY2tlZDpcbiAgICAgICAgICBzdGF0ZS5wbGF5ZXJzLndoaXRlLnBvd2VyVW5sb2NrZWQgfHxcbiAgICAgICAgICBoYXNDcm9zc2VkQ2VudGVyKHN0YXRlLCAnd2hpdGUnKSB8fFxuICAgICAgICAgIGhhc0VuZW15RW50ZXJlZEhvbWUoc3RhdGUsICd3aGl0ZScpLFxuICAgICAgfSxcbiAgICAgIGJsYWNrOiB7XG4gICAgICAgIC4uLnN0YXRlLnBsYXllcnMuYmxhY2ssXG4gICAgICAgIHBvd2VyVW5sb2NrZWQ6XG4gICAgICAgICAgc3RhdGUucGxheWVycy5ibGFjay5wb3dlclVubG9ja2VkIHx8XG4gICAgICAgICAgaGFzQ3Jvc3NlZENlbnRlcihzdGF0ZSwgJ2JsYWNrJykgfHxcbiAgICAgICAgICBoYXNFbmVteUVudGVyZWRIb21lKHN0YXRlLCAnYmxhY2snKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gaGFzQ3Jvc3NlZENlbnRlcihzdGF0ZTogQ2hlc3NpbWFsc0dhbWVTdGF0ZSwgY29sb3I6IENoZXNzaW1hbHNQbGF5ZXJDb2xvcik6IGJvb2xlYW4ge1xuICBjb25zdCBjZW50ZXJUb3AgPSBzdGF0ZS5ib2FyZFNpemUgLyAyIC0gMTtcbiAgY29uc3QgY2VudGVyQm90dG9tID0gc3RhdGUuYm9hcmRTaXplIC8gMjtcbiAgcmV0dXJuIGFjdGl2ZVBpZWNlcyhzdGF0ZSkuc29tZSgocGllY2UpID0+IHtcbiAgICBpZiAocGllY2UuY29sb3IgIT09IGNvbG9yIHx8IHBpZWNlLmNhcHR1cmVkKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIGNvbG9yID09PSAnd2hpdGUnID8gcGllY2UucG9zaXRpb24ucm93IDw9IGNlbnRlclRvcCA6IHBpZWNlLnBvc2l0aW9uLnJvdyA+PSBjZW50ZXJCb3R0b207XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBoYXNFbmVteUVudGVyZWRIb21lKHN0YXRlOiBDaGVzc2ltYWxzR2FtZVN0YXRlLCBjb2xvcjogQ2hlc3NpbWFsc1BsYXllckNvbG9yKTogYm9vbGVhbiB7XG4gIGNvbnN0IGNlbnRlclRvcCA9IHN0YXRlLmJvYXJkU2l6ZSAvIDIgLSAxO1xuICBjb25zdCBjZW50ZXJCb3R0b20gPSBzdGF0ZS5ib2FyZFNpemUgLyAyO1xuICBjb25zdCBlbmVteSA9IG90aGVyQ29sb3IoY29sb3IpO1xuICByZXR1cm4gYWN0aXZlUGllY2VzKHN0YXRlKS5zb21lKChwaWVjZSkgPT4ge1xuICAgIGlmIChwaWVjZS5jb2xvciAhPT0gZW5lbXkgfHwgcGllY2UuY2FwdHVyZWQpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gY29sb3IgPT09ICd3aGl0ZScgPyBwaWVjZS5wb3NpdGlvbi5yb3cgPj0gY2VudGVyQm90dG9tIDogcGllY2UucG9zaXRpb24ucm93IDw9IGNlbnRlclRvcDtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGlzUHJvbW90aW9uUm93KFxuICBib2FyZFNpemU6IENoZXNzaW1hbHNCb2FyZFNpemUsXG4gIGNvbG9yOiBDaGVzc2ltYWxzUGxheWVyQ29sb3IsXG4gIHBvc2l0aW9uOiBDaGVzc2ltYWxzUG9zaXRpb24sXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIGNvbG9yID09PSAnd2hpdGUnID8gcG9zaXRpb24ucm93ID09PSAwIDogcG9zaXRpb24ucm93ID09PSBib2FyZFNpemUgLSAxO1xufVxuXG5mdW5jdGlvbiBpc0luc2lkZUJvYXJkKGJvYXJkU2l6ZTogQ2hlc3NpbWFsc0JvYXJkU2l6ZSwgcG9zaXRpb246IENoZXNzaW1hbHNQb3NpdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHBvc2l0aW9uLnJvdyA+PSAwICYmIHBvc2l0aW9uLnJvdyA8IGJvYXJkU2l6ZSAmJiBwb3NpdGlvbi5jb2wgPj0gMCAmJiBwb3NpdGlvbi5jb2wgPCBib2FyZFNpemVcbiAgKTtcbn1cblxuZnVuY3Rpb24gc2FtZVBvc2l0aW9uKGE6IENoZXNzaW1hbHNQb3NpdGlvbiwgYjogQ2hlc3NpbWFsc1Bvc2l0aW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiBhLnJvdyA9PT0gYi5yb3cgJiYgYS5jb2wgPT09IGIuY29sO1xufVxuXG5mdW5jdGlvbiBvdGhlckNvbG9yKGNvbG9yOiBDaGVzc2ltYWxzUGxheWVyQ29sb3IpOiBDaGVzc2ltYWxzUGxheWVyQ29sb3Ige1xuICByZXR1cm4gY29sb3IgPT09ICd3aGl0ZScgPyAnYmxhY2snIDogJ3doaXRlJztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9jYWxJZCgpOiBzdHJpbmcge1xuICByZXR1cm4gYGxvY2FsLSR7RGF0ZS5ub3coKS50b1N0cmluZygzNil9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwgOCl9YDtcbn1cbiJdfQ==
@@ -107,7 +107,7 @@ export const MINI_GAMES_I18N = {
107
107
  chessimalsRuleCardsTitle: 'Cartas de animales',
108
108
  chessimalsRuleEagle: 'Águila: se mueve hasta 3 casillas en diagonal, hacia adelante o atrás.',
109
109
  chessimalsRuleBull: 'Toro: se mueve hasta 3 casillas en línea recta, incluso hacia los lados.',
110
- chessimalsRuleKangaroo: 'Canguro: salta dos casillas en línea recta, sin necesitar una pieza al medio. Puede caer libre o capturar una pieza rival.',
110
+ chessimalsRuleKangaroo: 'Canguro: salta en L, como el caballo del ajedrez. Puede saltar por encima de piezas y caer libre o capturar una pieza rival.',
111
111
  chessimalsRuleLion: 'Leona: se mueve hasta 3 casillas en cualquier dirección.',
112
112
  chessimalsRuleLimitsTitle: 'Reglas de equilibrio',
113
113
  chessimalsRuleLimitsBody: 'Cada carta se usa una sola vez por partida. Ningún poder puede entrar directamente a la última fila: el paso final para ganar siempre debe ser un avance normal.',
@@ -174,10 +174,10 @@ export const MINI_GAMES_I18N = {
174
174
  chessimalsCardsLocked: 'Cruza la línea central o defiende tu territorio para desbloquearlas.',
175
175
  chessimalsCardsReady: 'Cada carta se puede usar una vez por partida.',
176
176
  chessimalsResign: 'Rendirse',
177
- chessimalsChangeMode: 'Cambiar juego',
177
+ chessimalsChangeMode: 'Cambiar modo',
178
178
  chessimalsConfirmRestartTitle: '¿Reiniciar partida?',
179
179
  chessimalsConfirmRestartBody: 'Se perderá el progreso de esta partida y volverá a empezar desde cero.',
180
- chessimalsConfirmHomeTitle: '¿Cambiar juego?',
180
+ chessimalsConfirmHomeTitle: '¿Cambiar modo?',
181
181
  chessimalsConfirmHomeBody: 'Saldrás de la partida actual y volverás al selector de mini juegos.',
182
182
  chessimalsConfirmResignTitle: '¿Rendirse?',
183
183
  chessimalsConfirmResignBody: 'La partida terminará ahora y ganará el rival.',
@@ -304,7 +304,7 @@ export const MINI_GAMES_I18N = {
304
304
  chessimalsRuleCardsTitle: 'Animal cards',
305
305
  chessimalsRuleEagle: 'Eagle: moves up to 3 squares diagonally, forward or backward.',
306
306
  chessimalsRuleBull: 'Bull: moves up to 3 squares in a straight line, including sideways.',
307
- chessimalsRuleKangaroo: 'Kangaroo: jumps two squares in a straight line, without needing a piece in between. It can land on an empty square or capture a rival piece.',
307
+ chessimalsRuleKangaroo: 'Kangaroo: jumps in an L shape, like a chess knight. It can jump over pieces and land on an empty square or capture a rival piece.',
308
308
  chessimalsRuleLion: 'Lioness: moves up to 3 squares in any direction.',
309
309
  chessimalsRuleLimitsTitle: 'Balance rules',
310
310
  chessimalsRuleLimitsBody: 'Each card can be used once per game. No power can land directly on the final row: the winning step must always be a normal forward move.',
@@ -371,10 +371,10 @@ export const MINI_GAMES_I18N = {
371
371
  chessimalsCardsLocked: 'Cross the center line or defend your territory to unlock them.',
372
372
  chessimalsCardsReady: 'Each card can be used once per game.',
373
373
  chessimalsResign: 'Resign',
374
- chessimalsChangeMode: 'Change game',
374
+ chessimalsChangeMode: 'Change mode',
375
375
  chessimalsConfirmRestartTitle: 'Restart game?',
376
376
  chessimalsConfirmRestartBody: 'This game progress will be lost and the board will start over.',
377
- chessimalsConfirmHomeTitle: 'Change game?',
377
+ chessimalsConfirmHomeTitle: 'Change mode?',
378
378
  chessimalsConfirmHomeBody: 'You will leave the current game and return to the mini games selector.',
379
379
  chessimalsConfirmResignTitle: 'Resign?',
380
380
  chessimalsConfirmResignBody: 'The game will end now and the rival player will win.',
@@ -394,4 +394,4 @@ export const MINI_GAMES_I18N = {
394
394
  chessimalsReasonResignation: 'Resignation',
395
395
  },
396
396
  };
397
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1nYW1lcy5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL21pbmktZ2FtZXMuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQXFCO0lBQy9DLEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLFlBQVksRUFBRSx5Q0FBeUM7UUFDdkQsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixpQkFBaUIsRUFBRSxpRUFBaUU7UUFDcEYsVUFBVSxFQUFFLE9BQU87UUFDbkIsZ0JBQWdCLEVBQUUsNkNBQTZDO1FBQy9ELGVBQWUsRUFBRSxZQUFZO1FBQzdCLHFCQUFxQixFQUFFLGtFQUFrRTtRQUN6RixTQUFTLEVBQUUsY0FBYztRQUN6QixRQUFRLEVBQUUsT0FBTztRQUNqQixLQUFLLEVBQUUsUUFBUTtRQUNmLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsWUFBWSxFQUFFLDhGQUE4RjtRQUM1RyxZQUFZLEVBQUUsbUJBQW1CO1FBQ2pDLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGNBQWMsRUFBRSx5REFBeUQ7UUFDekUsVUFBVSxFQUFFLFFBQVE7UUFDcEIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxpQkFBaUIsRUFBRSxTQUFTO1FBQzVCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLG9CQUFvQixFQUFFLHNEQUFzRDtRQUM1RSxZQUFZLEVBQUUscUJBQXFCO1FBQ25DLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFlBQVksRUFBRSxRQUFRO1FBQ3RCLFdBQVcsRUFBRSxjQUFjO1FBQzNCLEdBQUcsRUFBRSxRQUFRO1FBQ2IsY0FBYyxFQUFFLHdEQUF3RDtRQUN4RSxLQUFLLEVBQUUsT0FBTztRQUNkLGdCQUFnQixFQUFFLDBDQUEwQztRQUM1RCxlQUFlLEVBQUUsWUFBWTtRQUM3QixJQUFJLEVBQUUsT0FBTztRQUNiLE1BQU0sRUFBRSxPQUFPO1FBQ2YsSUFBSSxFQUFFLFNBQVM7UUFDZixTQUFTLEVBQUUsTUFBTTtRQUNqQixPQUFPLEVBQUUsU0FBUztRQUNsQixrQkFBa0IsRUFBRSxpREFBaUQ7UUFDckUsT0FBTyxFQUFFLFVBQVU7UUFDbkIsS0FBSyxFQUFFLGNBQWM7UUFDckIsS0FBSyxFQUFFLFFBQVE7UUFDZixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsS0FBSyxFQUFFLE9BQU87UUFDZCxTQUFTLEVBQUUsaUJBQWlCO1FBQzVCLE9BQU8sRUFBRSxXQUFXO1FBQ3BCLFdBQVcsRUFBRSxjQUFjO1FBQzNCLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLEtBQUssRUFBRSxPQUFPO1FBQ2QsTUFBTSxFQUFFLE9BQU87UUFDZixJQUFJLEVBQUUsUUFBUTtRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxlQUFlO1FBQ3pCLE9BQU8sRUFBRSxzRkFBc0Y7UUFDL0YsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixRQUFRLEVBQUUsMkNBQTJDO1FBQ3JELGlCQUFpQixFQUFFLGVBQWU7UUFDbEMsZ0JBQWdCLEVBQUUscUhBQXFIO1FBQ3ZJLGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQyx1QkFBdUIsRUFBRSwyQkFBMkI7UUFDcEQsZ0JBQWdCLEVBQUUsK0NBQStDO1FBQ2pFLGdCQUFnQixFQUFFLGtCQUFrQjtRQUNwQyxlQUFlLEVBQUUsUUFBUTtRQUN6QixXQUFXLEVBQUUsOEJBQThCO1FBQzNDLElBQUksRUFBRSxLQUFLO1FBQ1gsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsUUFBUTtRQUNoQixLQUFLLEVBQUUsZUFBZTtRQUN0QixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLGNBQWMsRUFBRSxPQUFPO1FBQ3ZCLGlCQUFpQixFQUFFLHdGQUF3RjtRQUMzRyxlQUFlLEVBQUUsZUFBZTtRQUNoQyxjQUFjLEVBQUUsb0dBQW9HO1FBQ3BILFlBQVksRUFBRSxRQUFRO1FBQ3RCLHVCQUF1QixFQUFFLDBDQUEwQztRQUNuRSxnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLDJCQUEyQixFQUFFLDJDQUEyQztRQUN4RSxjQUFjLEVBQUUsT0FBTztRQUN2Qix5QkFBeUIsRUFBRSw2Q0FBNkM7UUFDeEUsVUFBVSxFQUFFLFNBQVM7UUFDckIsVUFBVSxFQUFFLE1BQU07UUFDbEIsV0FBVyxFQUFFLFVBQVU7UUFDdkIsU0FBUyxFQUFFLFFBQVE7UUFDbkIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxlQUFlLEVBQUUsNEVBQTRFO1FBQzdGLFVBQVUsRUFBRSxPQUFPO1FBQ25CLGNBQWMsRUFBRSxPQUFPO1FBQ3ZCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLHFCQUFxQixFQUFFLGdCQUFnQjtRQUN2Qyx5QkFBeUIsRUFBRSx3QkFBd0I7UUFDbkQscUJBQXFCLEVBQUUseURBQXlEO1FBQ2hGLFVBQVUsRUFBRSwrQkFBK0I7UUFDM0Msa0JBQWtCLEVBQUUsOEZBQThGO1FBQ2xILG9CQUFvQixFQUFFLGVBQWU7UUFDckMsbUJBQW1CLEVBQ2pCLHdKQUF3SjtRQUMxSixvQkFBb0IsRUFBRSxzQkFBc0I7UUFDNUMsdUJBQXVCLEVBQUUsMkRBQTJEO1FBQ3BGLHVCQUF1QixFQUFFLFVBQVU7UUFDbkMsc0JBQXNCLEVBQ3BCLHdIQUF3SDtRQUMxSCx1QkFBdUIsRUFBRSxtQkFBbUI7UUFDNUMsc0JBQXNCLEVBQ3BCLHNJQUFzSTtRQUN4SSx5QkFBeUIsRUFBRSwrQkFBK0I7UUFDMUQsd0JBQXdCLEVBQ3RCLGlJQUFpSTtRQUNuSSx3QkFBd0IsRUFBRSxvQkFBb0I7UUFDOUMsbUJBQW1CLEVBQUUsd0VBQXdFO1FBQzdGLGtCQUFrQixFQUFFLDBFQUEwRTtRQUM5RixzQkFBc0IsRUFBRSw0SEFBNEg7UUFDcEosa0JBQWtCLEVBQUUsMERBQTBEO1FBQzlFLHlCQUF5QixFQUFFLHNCQUFzQjtRQUNqRCx3QkFBd0IsRUFDdEIsa0tBQWtLO1FBQ3BLLG1CQUFtQixFQUFFLG9CQUFvQjtRQUN6QyxtQkFBbUIsRUFBRSx1QkFBdUI7UUFDNUMsbUJBQW1CLEVBQUUsK0JBQStCO1FBQ3BELGVBQWUsRUFBRSxpQkFBaUI7UUFDbEMscUJBQXFCLEVBQUUsZ0JBQWdCO1FBQ3ZDLG9CQUFvQixFQUFFLG9JQUFvSTtRQUMxSixzQkFBc0IsRUFBRSxzQkFBc0I7UUFDOUMsMEJBQTBCLEVBQUUsMERBQTBEO1FBQ3RGLHlCQUF5QixFQUFFLHNCQUFzQjtRQUNqRCxrQkFBa0IsRUFBRSxtQkFBbUI7UUFDdkMsNkJBQTZCLEVBQUUsZUFBZTtRQUM5QyxvQkFBb0IsRUFBRSxRQUFRO1FBQzlCLHNCQUFzQixFQUFFLGlCQUFpQjtRQUN6QyxxQkFBcUIsRUFBRSx5R0FBeUc7UUFDaEksa0JBQWtCLEVBQUUsUUFBUTtRQUM1QixrQkFBa0IsRUFBRSxhQUFhO1FBQ2pDLG1CQUFtQixFQUFFLGdCQUFnQjtRQUNyQyxvQkFBb0IsRUFBRSw2QkFBNkI7UUFDbkQsbUJBQW1CLEVBQUUsbUNBQW1DO1FBQ3hELHVCQUF1QixFQUFFLFdBQVc7UUFDcEMsc0JBQXNCLEVBQUUsUUFBUTtRQUNoQyxtQkFBbUIsRUFBRSxZQUFZO1FBQ2pDLHNCQUFzQixFQUFFLGdFQUFnRTtRQUN4RixrQkFBa0IsRUFBRSxVQUFVO1FBQzlCLHNCQUFzQixFQUFFLDZFQUE2RTtRQUNyRyxxQkFBcUIsRUFBRSxzQ0FBc0M7UUFDN0QsaUJBQWlCLEVBQUUsZ0JBQWdCO1FBQ25DLHFCQUFxQixFQUFFLHFFQUFxRTtRQUM1RiwyQkFBMkIsRUFBRSxtQkFBbUI7UUFDaEQsMEJBQTBCLEVBQUUsdURBQXVEO1FBQ25GLGNBQWMsRUFBRSxPQUFPO1FBQ3ZCLG1CQUFtQixFQUFFLGdCQUFnQjtRQUNyQyx1QkFBdUIsRUFBRSxvREFBb0Q7UUFDN0UsbUJBQW1CLEVBQUUsZUFBZTtRQUNwQyxpQkFBaUIsRUFBRSxZQUFZO1FBQy9CLHFCQUFxQixFQUFFLHlEQUF5RDtRQUNoRix1QkFBdUIsRUFBRSxvQkFBb0I7UUFDN0MsaUJBQWlCLEVBQUUsT0FBTztRQUMxQixtQkFBbUIsRUFBRSxRQUFRO1FBQzdCLGlCQUFpQixFQUFFLE9BQU87UUFDMUIsMEJBQTBCLEVBQUUseUJBQXlCO1FBQ3JELHlCQUF5QixFQUFFLDREQUE0RDtRQUN2Rix5QkFBeUIsRUFBRSxzRUFBc0U7UUFDakcscUJBQXFCLEVBQUUsa0JBQWtCO1FBQ3pDLG9CQUFvQixFQUFFLGtFQUFrRTtRQUN4RixlQUFlLEVBQUUsT0FBTztRQUN4QixlQUFlLEVBQUUsU0FBUztRQUMxQixnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLGdCQUFnQixFQUFFLFNBQVM7UUFDM0IsZ0JBQWdCLEVBQUUsV0FBVztRQUM3QixlQUFlLEVBQUUsU0FBUztRQUMxQixlQUFlLEVBQUUsU0FBUztRQUMxQixlQUFlLEVBQUUsUUFBUTtRQUN6QixrQkFBa0IsRUFBRSxRQUFRO1FBQzVCLGdCQUFnQixFQUFFLFlBQVk7UUFDOUIscUJBQXFCLEVBQUUsb0JBQW9CO1FBQzNDLHNCQUFzQixFQUFFLGtEQUFrRDtRQUMxRSxvQkFBb0IsRUFBRSw0REFBNEQ7UUFDbEYseUJBQXlCLEVBQUUsMkRBQTJEO1FBQ3RGLHFCQUFxQixFQUFFLG9CQUFvQjtRQUMzQyxxQkFBcUIsRUFBRSxzRUFBc0U7UUFDN0Ysb0JBQW9CLEVBQUUsK0NBQStDO1FBQ3JFLGdCQUFnQixFQUFFLFVBQVU7UUFDNUIsb0JBQW9CLEVBQUUsZUFBZTtRQUNyQyw2QkFBNkIsRUFBRSxxQkFBcUI7UUFDcEQsNEJBQTRCLEVBQUUsd0VBQXdFO1FBQ3RHLDBCQUEwQixFQUFFLGlCQUFpQjtRQUM3Qyx5QkFBeUIsRUFBRSxxRUFBcUU7UUFDaEcsNEJBQTRCLEVBQUUsWUFBWTtRQUMxQywyQkFBMkIsRUFBRSwrQ0FBK0M7UUFDNUUscUJBQXFCLEVBQUUsUUFBUTtRQUMvQixvQkFBb0IsRUFBRSxNQUFNO1FBQzVCLHdCQUF3QixFQUFFLFNBQVM7UUFDbkMsb0JBQW9CLEVBQUUsT0FBTztRQUM3QixzQkFBc0IsRUFBRSxtQkFBbUI7UUFDM0Msa0JBQWtCLEVBQUUsbUJBQW1CO1FBQ3ZDLHNCQUFzQixFQUFFLGlCQUFpQjtRQUN6QyxrQkFBa0IsRUFBRSxnQkFBZ0I7UUFDcEMsc0JBQXNCLEVBQUUsb0RBQW9EO1FBQzVFLHdCQUF3QixFQUFFLHlDQUF5QztRQUNuRSx3QkFBd0IsRUFBRSw0QkFBNEI7UUFDdEQseUJBQXlCLEVBQUUsWUFBWTtRQUN2QywyQkFBMkIsRUFBRSxhQUFhO1FBQzFDLDJCQUEyQixFQUFFLFdBQVc7S0FDekM7SUFDRCxFQUFFLEVBQUU7UUFDRixTQUFTLEVBQUUsWUFBWTtRQUN2QixZQUFZLEVBQUUsMkNBQTJDO1FBQ3pELFdBQVcsRUFBRSxjQUFjO1FBQzNCLGlCQUFpQixFQUFFLHlEQUF5RDtRQUM1RSxVQUFVLEVBQUUsT0FBTztRQUNuQixnQkFBZ0IsRUFBRSxvREFBb0Q7UUFDdEUsZUFBZSxFQUFFLFlBQVk7UUFDN0IscUJBQXFCLEVBQUUsb0RBQW9EO1FBQzNFLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEtBQUssRUFBRSxPQUFPO1FBQ2QsTUFBTSxFQUFFLFFBQVE7UUFDaEIsU0FBUyxFQUFFLFlBQVk7UUFDdkIsU0FBUyxFQUFFLGNBQWM7UUFDekIsWUFBWSxFQUFFLHNGQUFzRjtRQUNwRyxZQUFZLEVBQUUsdUJBQXVCO1FBQ3JDLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLGNBQWMsRUFBRSxxREFBcUQ7UUFDckUsVUFBVSxFQUFFLE1BQU07UUFDbEIscUJBQXFCLEVBQUUsV0FBVztRQUNsQyxpQkFBaUIsRUFBRSxRQUFRO1FBQzNCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLG9CQUFvQixFQUFFLDZDQUE2QztRQUNuRSxZQUFZLEVBQUUsZUFBZTtRQUM3QixTQUFTLEVBQUUsWUFBWTtRQUN2QixZQUFZLEVBQUUsU0FBUztRQUN2QixXQUFXLEVBQUUsZUFBZTtRQUM1QixHQUFHLEVBQUUsTUFBTTtRQUNYLGNBQWMsRUFBRSxzREFBc0Q7UUFDdEUsS0FBSyxFQUFFLE9BQU87UUFDZCxnQkFBZ0IsRUFBRSx3Q0FBd0M7UUFDMUQsZUFBZSxFQUFFLFlBQVk7UUFDN0IsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsTUFBTTtRQUNaLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLGtCQUFrQixFQUFFLHNDQUFzQztRQUMxRCxPQUFPLEVBQUUsU0FBUztRQUNsQixLQUFLLEVBQUUsT0FBTztRQUNkLEtBQUssRUFBRSxPQUFPO1FBQ2QsT0FBTyxFQUFFLFVBQVU7UUFDbkIsUUFBUSxFQUFFLFdBQVc7UUFDckIsS0FBSyxFQUFFLE1BQU07UUFDYixTQUFTLEVBQUUsWUFBWTtRQUN2QixPQUFPLEVBQUUsU0FBUztRQUNsQixXQUFXLEVBQUUsYUFBYTtRQUMxQixRQUFRLEVBQUUsVUFBVTtRQUNwQixLQUFLLEVBQUUsT0FBTztRQUNkLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLE1BQU07UUFDaEIsUUFBUSxFQUFFLGFBQWE7UUFDdkIsT0FBTyxFQUFFLDhFQUE4RTtRQUN2RixTQUFTLEVBQUUsWUFBWTtRQUN2QixRQUFRLEVBQUUsd0NBQXdDO1FBQ2xELGlCQUFpQixFQUFFLGFBQWE7UUFDaEMsZ0JBQWdCLEVBQUUsNEdBQTRHO1FBQzlILGdCQUFnQixFQUFFLGFBQWE7UUFDL0IsdUJBQXVCLEVBQUUsd0JBQXdCO1FBQ2pELGdCQUFnQixFQUFFLHdDQUF3QztRQUMxRCxnQkFBZ0IsRUFBRSxrQkFBa0I7UUFDcEMsZUFBZSxFQUFFLFFBQVE7UUFDekIsV0FBVyxFQUFFLDhCQUE4QjtRQUMzQyxJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLGNBQWMsRUFBRSxPQUFPO1FBQ3ZCLGlCQUFpQixFQUFFLGtHQUFrRztRQUNySCxlQUFlLEVBQUUsYUFBYTtRQUM5QixjQUFjLEVBQUUsc0ZBQXNGO1FBQ3RHLFlBQVksRUFBRSxNQUFNO1FBQ3BCLHVCQUF1QixFQUFFLHlDQUF5QztRQUNsRSxnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLDJCQUEyQixFQUFFLG9DQUFvQztRQUNqRSxjQUFjLEVBQUUsT0FBTztRQUN2Qix5QkFBeUIsRUFBRSw0Q0FBNEM7UUFDdkUsVUFBVSxFQUFFLE9BQU87UUFDbkIsVUFBVSxFQUFFLE9BQU87UUFDbkIsV0FBVyxFQUFFLFdBQVc7UUFDeEIsU0FBUyxFQUFFLE9BQU87UUFDbEIsV0FBVyxFQUFFLDBCQUEwQjtRQUN2QyxlQUFlLEVBQUUsc0RBQXNEO1FBQ3ZFLFVBQVUsRUFBRSxPQUFPO1FBQ25CLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLHFCQUFxQixFQUFFLGFBQWE7UUFDcEMseUJBQXlCLEVBQUUscUJBQXFCO1FBQ2hELHFCQUFxQixFQUFFLDBDQUEwQztRQUNqRSxVQUFVLEVBQUUsK0JBQStCO1FBQzNDLGtCQUFrQixFQUFFLCtGQUErRjtRQUNuSCxvQkFBb0IsRUFBRSxhQUFhO1FBQ25DLG1CQUFtQixFQUNqQiw0SkFBNEo7UUFDOUosb0JBQW9CLEVBQUUsa0JBQWtCO1FBQ3hDLHVCQUF1QixFQUFFLCtDQUErQztRQUN4RSx1QkFBdUIsRUFBRSxNQUFNO1FBQy9CLHNCQUFzQixFQUNwQix1R0FBdUc7UUFDekcsdUJBQXVCLEVBQUUsZ0JBQWdCO1FBQ3pDLHNCQUFzQixFQUNwQixpSUFBaUk7UUFDbkkseUJBQXlCLEVBQUUsb0JBQW9CO1FBQy9DLHdCQUF3QixFQUN0Qix1SEFBdUg7UUFDekgsd0JBQXdCLEVBQUUsY0FBYztRQUN4QyxtQkFBbUIsRUFBRSwrREFBK0Q7UUFDcEYsa0JBQWtCLEVBQUUscUVBQXFFO1FBQ3pGLHNCQUFzQixFQUFFLDhJQUE4STtRQUN0SyxrQkFBa0IsRUFBRSxrREFBa0Q7UUFDdEUseUJBQXlCLEVBQUUsZUFBZTtRQUMxQyx3QkFBd0IsRUFDdEIsMElBQTBJO1FBQzVJLG1CQUFtQixFQUFFLFlBQVk7UUFDakMsbUJBQW1CLEVBQUUsaUJBQWlCO1FBQ3RDLG1CQUFtQixFQUFFLDhCQUE4QjtRQUNuRCxlQUFlLEVBQUUsWUFBWTtRQUM3QixxQkFBcUIsRUFBRSxrQkFBa0I7UUFDekMsb0JBQW9CLEVBQUUsb0lBQW9JO1FBQzFKLHNCQUFzQixFQUFFLG9CQUFvQjtRQUM1QywwQkFBMEIsRUFBRSwrREFBK0Q7UUFDM0YseUJBQXlCLEVBQUUsYUFBYTtRQUN4QyxrQkFBa0IsRUFBRSxXQUFXO1FBQy9CLDZCQUE2QixFQUFFLGdCQUFnQjtRQUMvQyxvQkFBb0IsRUFBRSxNQUFNO1FBQzVCLHNCQUFzQixFQUFFLG1CQUFtQjtRQUMzQyxxQkFBcUIsRUFBRSx1R0FBdUc7UUFDOUgsa0JBQWtCLEVBQUUsTUFBTTtRQUMxQixrQkFBa0IsRUFBRSxXQUFXO1FBQy9CLG1CQUFtQixFQUFFLFlBQVk7UUFDakMsb0JBQW9CLEVBQUUsbUJBQW1CO1FBQ3pDLG1CQUFtQixFQUFFLDBCQUEwQjtRQUMvQyx1QkFBdUIsRUFBRSxTQUFTO1FBQ2xDLHNCQUFzQixFQUFFLFFBQVE7UUFDaEMsbUJBQW1CLEVBQUUsV0FBVztRQUNoQyxzQkFBc0IsRUFBRSwrREFBK0Q7UUFDdkYsa0JBQWtCLEVBQUUsV0FBVztRQUMvQixzQkFBc0IsRUFBRSxxRUFBcUU7UUFDN0YscUJBQXFCLEVBQUUsb0NBQW9DO1FBQzNELGlCQUFpQixFQUFFLGlCQUFpQjtRQUNwQyxxQkFBcUIsRUFBRSwyREFBMkQ7UUFDbEYsMkJBQTJCLEVBQUUsZUFBZTtRQUM1QywwQkFBMEIsRUFBRSx5Q0FBeUM7UUFDckUsY0FBYyxFQUFFLE1BQU07UUFDdEIsbUJBQW1CLEVBQUUsWUFBWTtRQUNqQyx1QkFBdUIsRUFBRSxnREFBZ0Q7UUFDekUsbUJBQW1CLEVBQUUsV0FBVztRQUNoQyxpQkFBaUIsRUFBRSxhQUFhO1FBQ2hDLHFCQUFxQixFQUFFLDhDQUE4QztRQUNyRSx1QkFBdUIsRUFBRSxnQkFBZ0I7UUFDekMsaUJBQWlCLEVBQUUsUUFBUTtRQUMzQixtQkFBbUIsRUFBRSxRQUFRO1FBQzdCLGlCQUFpQixFQUFFLE9BQU87UUFDMUIsMEJBQTBCLEVBQUUsdUJBQXVCO1FBQ25ELHlCQUF5QixFQUFFLHFEQUFxRDtRQUNoRix5QkFBeUIsRUFBRSx5REFBeUQ7UUFDcEYscUJBQXFCLEVBQUUsa0JBQWtCO1FBQ3pDLG9CQUFvQixFQUFFLDREQUE0RDtRQUNsRixlQUFlLEVBQUUsT0FBTztRQUN4QixlQUFlLEVBQUUsT0FBTztRQUN4QixnQkFBZ0IsRUFBRSxRQUFRO1FBQzFCLGdCQUFnQixFQUFFLFFBQVE7UUFDMUIsZ0JBQWdCLEVBQUUsUUFBUTtRQUMxQixlQUFlLEVBQUUsT0FBTztRQUN4QixlQUFlLEVBQUUsT0FBTztRQUN4QixlQUFlLEVBQUUsT0FBTztRQUN4QixrQkFBa0IsRUFBRSxPQUFPO1FBQzNCLGdCQUFnQixFQUFFLFFBQVE7UUFDMUIscUJBQXFCLEVBQUUsaUJBQWlCO1FBQ3hDLHNCQUFzQixFQUFFLHlDQUF5QztRQUNqRSxvQkFBb0IsRUFBRSxxREFBcUQ7UUFDM0UseUJBQXlCLEVBQUUsK0NBQStDO1FBQzFFLHFCQUFxQixFQUFFLGNBQWM7UUFDckMscUJBQXFCLEVBQUUsZ0VBQWdFO1FBQ3ZGLG9CQUFvQixFQUFFLHNDQUFzQztRQUM1RCxnQkFBZ0IsRUFBRSxRQUFRO1FBQzFCLG9CQUFvQixFQUFFLGFBQWE7UUFDbkMsNkJBQTZCLEVBQUUsZUFBZTtRQUM5Qyw0QkFBNEIsRUFBRSxnRUFBZ0U7UUFDOUYsMEJBQTBCLEVBQUUsY0FBYztRQUMxQyx5QkFBeUIsRUFBRSx3RUFBd0U7UUFDbkcsNEJBQTRCLEVBQUUsU0FBUztRQUN2QywyQkFBMkIsRUFBRSxzREFBc0Q7UUFDbkYscUJBQXFCLEVBQUUsT0FBTztRQUM5QixvQkFBb0IsRUFBRSxNQUFNO1FBQzVCLHdCQUF3QixFQUFFLFVBQVU7UUFDcEMsb0JBQW9CLEVBQUUsU0FBUztRQUMvQixzQkFBc0IsRUFBRSxlQUFlO1FBQ3ZDLGtCQUFrQixFQUFFLFdBQVc7UUFDL0Isc0JBQXNCLEVBQUUsZUFBZTtRQUN2QyxrQkFBa0IsRUFBRSxjQUFjO1FBQ2xDLHNCQUFzQixFQUFFLGtEQUFrRDtRQUMxRSx3QkFBd0IsRUFBRSxxQ0FBcUM7UUFDL0Qsd0JBQXdCLEVBQUUsNEJBQTRCO1FBQ3RELHlCQUF5QixFQUFFLFdBQVc7UUFDdEMsMkJBQTJCLEVBQUUsYUFBYTtRQUMxQywyQkFBMkIsRUFBRSxhQUFhO0tBQzNDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IE1JTklfR0FNRVNfSTE4TjogTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgZXM6IHtcbiAgICBtZW51VGl0bGU6ICdNaW5pIGp1ZWdvcycsXG4gICAgbWVudVN1YnRpdGxlOiAnVW4gcmluY8OzbiBzZWNyZXRvIHBhcmEganVnYXIgdW4gcmF0aXRvLicsXG4gICAgbWVtb3J5VGl0bGU6ICdNZW1vcmljZSBSZXRybycsXG4gICAgbWVtb3J5RGVzY3JpcHRpb246ICdFbmN1ZW50cmEgcGFyZXMsIGVudHJlbmEgbGEgbWVtb3JpYSB5IGRlc2Jsb3F1ZWEgc29uaWRvcyByZXRyby4nLFxuICAgIHNpbW9uVGl0bGU6ICdTaW3Ds24nLFxuICAgIHNpbW9uRGVzY3JpcHRpb246ICdSZXBpdGUgbHVjZXMgeSBzb25pZG9zIGNhZGEgdmV6IG3DoXMgbGFyZ29zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnVW5hIGNhcnJlcmEgZGUgcGVvbmVzIGNvbiBjYXJ0YXMgZGUgYW5pbWFsZXMgeSBwb2RlcmVzIHTDoWN0aWNvcy4nLFxuICAgIHNvb25UaXRsZTogJ1Byw7N4aW1hbWVudGUnLFxuICAgIG9wZW5HYW1lOiAnSnVnYXInLFxuICAgIGNsb3NlOiAnQ2VycmFyJyxcbiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgbGVhcm5Nb3JlOiAnQXByZW5kZXIgbcOhcycsXG4gICAgaG9tZVRpdGxlOiAnTWVtb3JpY2UgUmV0cm8nLFxuICAgIGhvbWVTdWJ0aXRsZTogJ0VsaWdlIGPDs21vIGp1Z2FyLCBlbmN1ZW50cmEgdG9kb3MgbG9zIHBhcmVzIHkgZ3VhcmRhIHR1cyBtZWpvcmVzIG1hcmNhcyBlbiBlc3RlIGRpc3Bvc2l0aXZvLicsXG4gICAgcHJvZmlsZVRpdGxlOiAnRWxpZ2UgdHUgYXZlbnR1cmEnLFxuICAgIHBsYXllclRpdGxlOiAnSnVnYWRvcicsXG4gICAgcGxheWVyU3VidGl0bGU6ICdUdSBub21icmUgeSBhdmF0YXIgc2UgZ3VhcmRhbiBzb2xvIGVuIGVzdGUgZGlzcG9zaXRpdm8uJyxcbiAgICBwbGF5ZXJOYW1lOiAnTm9tYnJlJyxcbiAgICBwbGF5ZXJOYW1lUGxhY2Vob2xkZXI6ICdFajogU29maScsXG4gICAgZGVmYXVsdFBsYXllck5hbWU6ICdKdWdhZG9yJyxcbiAgICBhdmF0YXJUaXRsZTogJ0F2YXRhcicsXG4gICAgY29sb3JUaXRsZTogJ0NvbG9yJyxcbiAgICBhcmNhZGVQbGF5ZXJTdWJ0aXRsZTogJ1NlIHVzYSBlbiB0b2RvcyBsb3MgbWluaSBqdWVnb3MgZGUgZXN0ZSBkaXNwb3NpdGl2by4nLFxuICAgIHNlbGVjdFBsYXllcjogJ1NlbGVjY2lvbmFyIGp1Z2Fkb3InLFxuICAgIG5ld1BsYXllcjogJ051ZXZvIGp1Z2Fkb3InLFxuICAgIGxvZ2dlZFBsYXllcjogJ1Nlc2nDs24nLFxuICAgIGxvY2FsUGxheWVyOiAnUGVyZmlsIGxvY2FsJyxcbiAgICBraWQ6ICdQZXF1ZXMnLFxuICAgIGtpZERlc2NyaXB0aW9uOiAnUG9jb3MgcGFyZXMsIG3DoXMgdGllbXBvIHBhcmEgdG9jYXIsIG1pcmFyIHkgZGVzY3VicmlyLicsXG4gICAgbmluamE6ICdOaW5qYScsXG4gICAgbmluamFEZXNjcmlwdGlvbjogJ03DoXMgY2FydGFzLCBtZW5vcyBlc3BlcmEgeSBjb250cmFycmVsb2ouJyxcbiAgICBkaWZmaWN1bHR5VGl0bGU6ICdEaWZpY3VsdGFkJyxcbiAgICBlYXN5OiAnRsOhY2lsJyxcbiAgICBtZWRpdW06ICdNZWRpbycsXG4gICAgaGFyZDogJ0RpZsOtY2lsJyxcbiAgICBtb2RlVGl0bGU6ICdNb2RvJyxcbiAgICBjbGFzc2ljOiAnQ2zDoXNpY28nLFxuICAgIGNsYXNzaWNEZXNjcmlwdGlvbjogJ1VuYSBwYXJ0aWRhIGVxdWlsaWJyYWRhIHBhcmEgcHJhY3RpY2FyIG1lbW9yaWEuJyxcbiAgICByZWxheGVkOiAnUmVsYWphZG8nLFxuICAgIHRpbWVkOiAnQ29udHJhcnJlbG9qJyxcbiAgICBzb3VuZDogJ1NvbmlkbycsXG4gICAgc291bmRPbjogJ1NvbmlkbyBhY3RpdmFkbycsXG4gICAgc291bmRPZmY6ICdTb25pZG8gZGVzYWN0aXZhZG8nLFxuICAgIHN0YXJ0OiAnSnVnYXInLFxuICAgIHN0YXJ0R2FtZTogJ0VtcGV6YXIgcGFydGlkYScsXG4gICAgcmVzdGFydDogJ1JlaW5pY2lhcicsXG4gICAgYmFja1RvU2V0dXA6ICdDYW1iaWFyIG1vZG8nLFxuICAgIGF0dGVtcHRzOiAnSW50ZW50b3MnLFxuICAgIHBhaXJzOiAnUGFyZXMnLFxuICAgIHN0cmVhazogJ1JhY2hhJyxcbiAgICB0aW1lOiAnVGllbXBvJyxcbiAgICB0aW1lTGVmdDogJ1F1ZWRhJyxcbiAgICB3aW5UaXRsZTogJ8KhTG8gbG9ncmFzdGUhJyxcbiAgICB3aW5Cb2R5OiAnRW5jb250cmFzdGUgdG9kb3MgbG9zIHBhcmVzIGVuIHthdHRlbXB0c30gaW50ZW50b3Mgwrcge3RpbWV9IMK3IHJhY2hhIG3DoXhpbWEge3N0cmVha30uJyxcbiAgICBsb3NlVGl0bGU6ICdUaWVtcG8gYWdvdGFkbycsXG4gICAgbG9zZUJvZHk6ICdFc3R1dm8gY2VyY2EuIFJlaW5pY2lhIHkgcHJ1ZWJhIG90cmEgdmV6LicsXG4gICAgaW5zdHJ1Y3Rpb25zVGl0bGU6ICdDw7NtbyBzZSBqdWVnYScsXG4gICAgaW5zdHJ1Y3Rpb25zQm9keTogJ1RvY2EgZG9zIGNhcnRhcyBwYXJhIGRlc2N1YnJpcmxhcy4gU2kgc29uIGlndWFsZXMgcXVlZGFuIGFiaWVydGFzOyBzaSBubywgbWVtb3JpemEgZMOzbmRlIGVzdGFiYW4geSBwcnVlYmEgZGUgbnVldm8uJyxcbiAgICBsZWFkZXJib2FyZFRpdGxlOiAnTWVqb3JlcyBtYXJjYXMnLFxuICAgIGxlYWRlcmJvYXJkUHJvZmlsZVRpdGxlOiAnTWVqb3JlcyBtYXJjYXM6IHtwcm9maWxlfScsXG4gICAgbGVhZGVyYm9hcmRFbXB0eTogJ0HDum4gbm8gaGF5IG1hcmNhcy4gTGEgcHJpbWVyYSBwdWVkZSBzZXIgdHV5YS4nLFxuICAgIGxlYWRlcmJvYXJkTW92ZXM6ICd7bW92ZXN9IGludGVudG9zJyxcbiAgICBsZWFkZXJib2FyZFRpbWU6ICd7dGltZX0nLFxuICAgIHJlc3VsdFN0YXRzOiAne2F0dGVtcHRzfSBpbnRlbnRvcyDCtyB7dGltZX0nLFxuICAgIGdvbGQ6ICdPcm8nLFxuICAgIHNpbHZlcjogJ1BsYXRhJyxcbiAgICBicm9uemU6ICdCcm9uY2UnLFxuICAgIHNwYXJrOiAnQnVlbmEgcGFydGlkYScsXG4gICAgcGxheUFnYWluOiAnSnVnYXIgb3RyYSB2ZXonLFxuICAgIHNpbW9uSG9tZVRpdGxlOiAnU2ltw7NuJyxcbiAgICBzaW1vbkhvbWVTdWJ0aXRsZTogJ01pcmEgbGEgc2VjdWVuY2lhLCBlc2N1Y2hhIGxvcyB0b25vcyB5IHJlcMOtdGVsYSB0b2NhbmRvIGxvcyBib3RvbmVzIGVuIGVsIG1pc21vIG9yZGVuLicsXG4gICAgc2ltb25Ib3dUb1RpdGxlOiAnQ8OzbW8gc2UganVlZ2EnLFxuICAgIHNpbW9uSG93VG9Cb2R5OiAnU2ltw7NuIG11ZXN0cmEgdW5hIHNlY3VlbmNpYSBkZSBjb2xvcmVzLiBDdWFuZG8gdGVybWluZSwgcmVww610ZWxhLiBDYWRhIHJvbmRhIGFncmVnYSB1biBwYXNvIG51ZXZvLicsXG4gICAgc2ltb25Nb2RlS2lkOiAnUGVxdWVzJyxcbiAgICBzaW1vbk1vZGVLaWREZXNjcmlwdGlvbjogJ03DoXMgbGVudG8geSBhbWFibGUgcGFyYSB0b2NhciBzaW4gYXB1cm8uJyxcbiAgICBzaW1vbk1vZGVDbGFzc2ljOiAnQ2zDoXNpY28nLFxuICAgIHNpbW9uTW9kZUNsYXNzaWNEZXNjcmlwdGlvbjogJ1JpdG1vIGVxdWlsaWJyYWRvIHBhcmEgcHJhY3RpY2FyIG1lbW9yaWEuJyxcbiAgICBzaW1vbk1vZGVOaW5qYTogJ05pbmphJyxcbiAgICBzaW1vbk1vZGVOaW5qYURlc2NyaXB0aW9uOiAnTcOhcyByw6FwaWRvIHkgY29uIG1lbm9zIHBhdXNhIGVudHJlIGNvbG9yZXMuJyxcbiAgICBzaW1vblN0YXJ0OiAnRW1wZXphcicsXG4gICAgc2ltb25XYXRjaDogJ01pcmEnLFxuICAgIHNpbW9uUmVwZWF0OiAnVHUgdHVybm8nLFxuICAgIHNpbW9uR29vZDogJ8KhQmllbiEnLFxuICAgIHNpbW9uRmFpbGVkOiAnVXBzLCBzZSBjb3J0w7MgbGEgc2VjdWVuY2lhJyxcbiAgICBzaW1vbkZhaWxlZEJvZHk6ICdMbGVnYXN0ZSBhIGxhIHJvbmRhIHtyb3VuZH0uIFB1ZWRlcyBpbnRlbnRhcmxvIG90cmEgdmV6IG8gY2FtYmlhciBlbCBtb2RvLicsXG4gICAgc2ltb25Sb3VuZDogJ1JvbmRhJyxcbiAgICBzaW1vbkJlc3RSb3VuZDogJ01lam9yJyxcbiAgICBzaW1vblN0ZXBzOiAnUGFzb3MnLFxuICAgIHNpbW9uTGVhZGVyYm9hcmRUaXRsZTogJ01lam9yZXMgcm9uZGFzJyxcbiAgICBzaW1vbkxlYWRlcmJvYXJkTW9kZVRpdGxlOiAnTWVqb3JlcyByb25kYXM6IHttb2RlfScsXG4gICAgc2ltb25MZWFkZXJib2FyZEVtcHR5OiAnQcO6biBubyBoYXkgcm9uZGFzIGd1YXJkYWRhcy4gTGEgcHJpbWVyYSBwdWVkZSBzZXIgdHV5YS4nLFxuICAgIHNpbW9uU2NvcmU6ICdSb25kYSB7cm91bmR9IMK3IHtzdGVwc30gcGFzb3MnLFxuICAgIGNoZXNzaW1hbHNTdWJ0aXRsZTogJ0p1ZWdhIGVuIGVsIG1pc21vIGRpc3Bvc2l0aXZvLCBhbHRlcm5hbmRvIHR1cm5vcywgaGFzdGEgY29yb25hciB1biBwZcOzbiBvIGVsaW1pbmFyIGFsIHJpdmFsLicsXG4gICAgY2hlc3NpbWFsc0hvd1RvVGl0bGU6ICdDw7NtbyBzZSBqdWVnYScsXG4gICAgY2hlc3NpbWFsc0hvd1RvQm9keTpcbiAgICAgICdDYWRhIHBlw7NuIGF2YW56YSB1bmEgY2FzaWxsYSB5IGNhcHR1cmEgZW4gZGlhZ29uYWwuIEN1YW5kbyBjcnV6YSBlbCBjZW50cm8sIG8gZWwgcml2YWwgZW50cmEgZW4gdHUgbGFkbywgc2UgZGVzYmxvcXVlYW4gY3VhdHJvIHBvZGVyZXMgZGUgdW4gc29sbyB1c28uJyxcbiAgICBjaGVzc2ltYWxzUnVsZXNUaXRsZTogJ1JlZ2xhcyBkZSBDaGVzc2ltYWxzJyxcbiAgICBjaGVzc2ltYWxzUnVsZXNTdWJ0aXRsZTogJ1VuYSBndcOtYSByw6FwaWRhIHBhcmEgZW50ZW5kZXIgdHVybm9zLCBjYXB0dXJhcyB5IHBvZGVyZXMuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUdvYWxUaXRsZTogJ09iamV0aXZvJyxcbiAgICBjaGVzc2ltYWxzUnVsZUdvYWxCb2R5OlxuICAgICAgJ0dhbmEgcXVpZW4gbGxldmEgdW4gcGXDs24gaGFzdGEgbGEgw7psdGltYSBmaWxhIHJpdmFsIGNvbiB1biBwYXNvIG5vcm1hbCwgbyBxdWllbiBjYXB0dXJhIHRvZG9zIGxvcyBwZW9uZXMgZGVsIG9wb25lbnRlLicsXG4gICAgY2hlc3NpbWFsc1J1bGVNb3ZlVGl0bGU6ICdNb3ZpbWllbnRvIGLDoXNpY28nLFxuICAgIGNoZXNzaW1hbHNSdWxlTW92ZUJvZHk6XG4gICAgICAnRW4gdHUgdHVybm8sIHRvY2EgdW5vIGRlIHR1cyBwZW9uZXMuIFB1ZWRlIGF2YW56YXIgdW5hIGNhc2lsbGEgaGFjaWEgYWRlbGFudGUgc2kgZXN0w6EgbGlicmUsIG8gY2FwdHVyYXIgdW5hIHBpZXphIHJpdmFsIGVuIGRpYWdvbmFsLicsXG4gICAgY2hlc3NpbWFsc1J1bGVQb3dlcnNUaXRsZTogJ0N1w6FuZG8gc2UgYWN0aXZhbiBsb3MgcG9kZXJlcycsXG4gICAgY2hlc3NpbWFsc1J1bGVQb3dlcnNCb2R5OlxuICAgICAgJ1R1cyBjYXJ0YXMgc2UgZGVzYmxvcXVlYW4gY3VhbmRvIHVubyBkZSB0dXMgcGVvbmVzIGNydXphIGxhIGzDrW5lYSBjZW50cmFsIG8gY3VhbmRvIHVuIHBlw7NuIHJpdmFsIGVudHJhIGVuIHR1IG1pdGFkIGRlbCB0YWJsZXJvLicsXG4gICAgY2hlc3NpbWFsc1J1bGVDYXJkc1RpdGxlOiAnQ2FydGFzIGRlIGFuaW1hbGVzJyxcbiAgICBjaGVzc2ltYWxzUnVsZUVhZ2xlOiAnw4FndWlsYTogc2UgbXVldmUgaGFzdGEgMyBjYXNpbGxhcyBlbiBkaWFnb25hbCwgaGFjaWEgYWRlbGFudGUgbyBhdHLDoXMuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUJ1bGw6ICdUb3JvOiBzZSBtdWV2ZSBoYXN0YSAzIGNhc2lsbGFzIGVuIGzDrW5lYSByZWN0YSwgaW5jbHVzbyBoYWNpYSBsb3MgbGFkb3MuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUthbmdhcm9vOiAnQ2FuZ3Vybzogc2FsdGEgZG9zIGNhc2lsbGFzIGVuIGzDrW5lYSByZWN0YSwgc2luIG5lY2VzaXRhciB1bmEgcGllemEgYWwgbWVkaW8uIFB1ZWRlIGNhZXIgbGlicmUgbyBjYXB0dXJhciB1bmEgcGllemEgcml2YWwuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUxpb246ICdMZW9uYTogc2UgbXVldmUgaGFzdGEgMyBjYXNpbGxhcyBlbiBjdWFscXVpZXIgZGlyZWNjacOzbi4nLFxuICAgIGNoZXNzaW1hbHNSdWxlTGltaXRzVGl0bGU6ICdSZWdsYXMgZGUgZXF1aWxpYnJpbycsXG4gICAgY2hlc3NpbWFsc1J1bGVMaW1pdHNCb2R5OlxuICAgICAgJ0NhZGEgY2FydGEgc2UgdXNhIHVuYSBzb2xhIHZleiBwb3IgcGFydGlkYS4gTmluZ8O6biBwb2RlciBwdWVkZSBlbnRyYXIgZGlyZWN0YW1lbnRlIGEgbGEgw7psdGltYSBmaWxhOiBlbCBwYXNvIGZpbmFsIHBhcmEgZ2FuYXIgc2llbXByZSBkZWJlIHNlciB1biBhdmFuY2Ugbm9ybWFsLicsXG4gICAgY2hlc3NpbWFsc0JvYXJkU2l6ZTogJ1RhbWHDsW8gZGVsIHRhYmxlcm8nLFxuICAgIGNoZXNzaW1hbHNTaXplU21hbGw6ICdSw6FwaWRvIHBhcmEgYXByZW5kZXIuJyxcbiAgICBjaGVzc2ltYWxzU2l6ZUxhcmdlOiAnTcOhcyBlc3BhY2lvIHkgbcOhcyBlc3RyYXRlZ2lhLicsXG4gICAgY2hlc3NpbWFsc1N0YXJ0OiAnRW1wZXphciBwYXJ0aWRhJyxcbiAgICBjaGVzc2ltYWxzT25saW5lVGl0bGU6ICdKdWdhciBjb24gbGluaycsXG4gICAgY2hlc3NpbWFsc09ubGluZUJvZHk6ICdDcmVhIHVuYSBwYXJ0aWRhLCBjb21wYXJ0ZSBlbCBjw7NkaWdvIHkgbGEgb3RyYSBwZXJzb25hIHNlIHVuZSBkZXNkZSBzdSBkaXNwb3NpdGl2by4gU2kgeWEgaGF5IGRvcyBqdWdhZG9yZXMsIGVsIHJlc3RvIHB1ZWRlIG1pcmFyLicsXG4gICAgY2hlc3NpbWFsc0NyZWF0ZU9ubGluZTogJ0NyZWFyIHBhcnRpZGEgb25saW5lJyxcbiAgICBjaGVzc2ltYWxzQ3JlYXRlT25saW5lSGludDogJ0VsIGPDs2RpZ28gc2UgZ2VuZXJhIGF1dG9tw6F0aWNhbWVudGUgYWwgY3JlYXIgbGEgcGFydGlkYS4nLFxuICAgIGNoZXNzaW1hbHNKb2luT25saW5lVGl0bGU6ICdVbmlyc2UgYSB1bmEgcGFydGlkYScsXG4gICAgY2hlc3NpbWFsc0pvaW5Db2RlOiAnQ8OzZGlnbyBkZSBwYXJ0aWRhJyxcbiAgICBjaGVzc2ltYWxzSm9pbkNvZGVQbGFjZWhvbGRlcjogJ0VqOiBBQkNELTEyMzQnLFxuICAgIGNoZXNzaW1hbHNKb2luT25saW5lOiAnVW5pcm1lJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ1RpdGxlOiAnRXNwZXJhbmRvIHJpdmFsJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ0JvZHk6ICdDb21wYXJ0ZSBlc3RlIGxpbmsgbyBjw7NkaWdvLiBDdWFuZG8gZW50cmUgb3RyYSBwZXJzb25hLCBzZSBzb3J0ZWFyw6FuIGxvcyBjb2xvcmVzIHkgZW1wZXphcsOhIGxhIHBhcnRpZGEuJyxcbiAgICBjaGVzc2ltYWxzR2FtZUNvZGU6ICdDw7NkaWdvJyxcbiAgICBjaGVzc2ltYWxzQ29weUxpbms6ICdDb3BpYXIgbGluaycsXG4gICAgY2hlc3NpbWFsc1NoYXJlTGluazogJ0NvbXBhcnRpciBsaW5rJyxcbiAgICBjaGVzc2ltYWxzTGlua0NvcGllZDogJ0xpbmsgZGUgbGEgcGFydGlkYSBjb3BpYWRvLicsXG4gICAgY2hlc3NpbWFsc1NoYXJlVGV4dDogJ8OabmV0ZSBhIG1pIHBhcnRpZGEgZGUgQ2hlc3NpbWFscy4nLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVXYWl0aW5nOiAnRXNwZXJhbmRvJyxcbiAgICBjaGVzc2ltYWxzT25saW5lUGxheWVyOiAnT25saW5lJyxcbiAgICBjaGVzc2ltYWxzU3BlY3RhdG9yOiAnT2JzZXJ2YWRvcicsXG4gICAgY2hlc3NpbWFsc09ubGluZVZpZXdlcjogJ0VzdGEgcGFydGlkYSB5YSB0aWVuZSBkb3MganVnYWRvcmVzLiBQdWVkZXMgbWlyYXIgY8OzbW8gYXZhbnphLicsXG4gICAgY2hlc3NpbWFsc1lvdXJUdXJuOiAnVHUgdHVybm8nLFxuICAgIGNoZXNzaW1hbHNZb3VyVHVybkJvZHk6ICdUb2NhIHVubyBkZSB0dXMgcGVvbmVzIHBhcmEgdmVyIHN1cyBtb3ZpbWllbnRvcyB5IGp1ZWdhIGN1YW5kbyBlc3TDqXMgbGlzdG8uJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ1R1cm46ICdFc3BlcmEgYSBxdWUganVlZ3VlIGxhIG90cmEgcGVyc29uYS4nLFxuICAgIGNoZXNzaW1hbHNSZW1hdGNoOiAnUGVkaXIgcmV2YW5jaGEnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVFcnJvcjogJ05vIHB1ZGltb3MgYWJyaXIgbGEgcGFydGlkYS4gUmV2aXNhIGVsIGPDs2RpZ28gbyBpbnRlbnRhIG51ZXZhbWVudGUuJyxcbiAgICBjaGVzc2ltYWxzUmVzdW1lU3BsYXNoVGl0bGU6ICdSZXRvbWFuZG8gcGFydGlkYScsXG4gICAgY2hlc3NpbWFsc1Jlc3VtZVNwbGFzaEJvZHk6ICdFc3RhbW9zIGNhcmdhbmRvIGVsIHRhYmxlcm8geSBzaW5jcm9uaXphbmRvIGVsIHR1cm5vLicsXG4gICAgY2hlc3NpbWFsc1R1cm46ICdUdXJubycsXG4gICAgY2hlc3NpbWFsc09uZURldmljZTogJ1VuIGRpc3Bvc2l0aXZvJyxcbiAgICBjaGVzc2ltYWxzT25lRGV2aWNlQm9keTogJ0RvcyBwZXJzb25hcyBhbHRlcm5hbiB0dXJub3MgZW4gbGEgbWlzbWEgcGFudGFsbGEuJyxcbiAgICBjaGVzc2ltYWxzTW9kZVRpdGxlOiAnTW9kbyBkZSBqdWVnbycsXG4gICAgY2hlc3NpbWFsc0JvdE1vZGU6ICdDb250cmEgYm90JyxcbiAgICBjaGVzc2ltYWxzQm90TW9kZUJvZHk6ICdKdWVnYSBjb24gYmxhbmNhcyBjb250cmEgQ2hlc3NpYm90IGVuIGVzdGUgZGlzcG9zaXRpdm8uJyxcbiAgICBjaGVzc2ltYWxzQm90RGlmZmljdWx0eTogJ0RpZmljdWx0YWQgZGVsIGJvdCcsXG4gICAgY2hlc3NpbWFsc0JvdEVhc3k6ICdTdWF2ZScsXG4gICAgY2hlc3NpbWFsc0JvdE5vcm1hbDogJ05vcm1hbCcsXG4gICAgY2hlc3NpbWFsc0JvdEhhcmQ6ICdOaW5qYScsXG4gICAgY2hlc3NpbWFsc0JvdFRoaW5raW5nVGl0bGU6ICdDaGVzc2lib3QgZXN0w6EgcGVuc2FuZG8nLFxuICAgIGNoZXNzaW1hbHNCb3RUaGlua2luZ0JvZHk6ICdFbCBib3QgbXVldmUgbGFzIG5lZ3Jhcy4gRXNwZXJhIHVuIG1vbWVudG8gcGFyYSBjb250aW51YXIuJyxcbiAgICBjaGVzc2ltYWxzQm90WW91clR1cm5Cb2R5OiAnSnVlZ2FzIGNvbiBibGFuY2FzLiBUb2NhIHVubyBkZSB0dXMgcGVvbmVzIHBhcmEgdmVyIHN1cyBtb3ZpbWllbnRvcy4nLFxuICAgIGNoZXNzaW1hbHNDdXJyZW50VHVybjogJ0p1ZWdhbjoge3BsYXllcn0nLFxuICAgIGNoZXNzaW1hbHNCb2FyZEZsaXBzOiAnRWwgdGFibGVybyBzZSBvcmllbnRhIGF1dG9tw6F0aWNhbWVudGUgcGFyYSBxdWllbiB0aWVuZSBlbCB0dXJuby4nLFxuICAgIGNoZXNzaW1hbHNSaXZhbDogJ1JpdmFsJyxcbiAgICBjaGVzc2ltYWxzTW92ZXM6ICdKdWdhZGFzJyxcbiAgICBjaGVzc2ltYWxzUG93ZXJzOiAnUG9kZXJlcycsXG4gICAgY2hlc3NpbWFsc1dpbm5lcjogJ0dhbmFkb3InLFxuICAgIGNoZXNzaW1hbHNSZXN1bHQ6ICdSZXN1bHRhZG8nLFxuICAgIGNoZXNzaW1hbHNCb2FyZDogJ1RhYmxlcm8nLFxuICAgIGNoZXNzaW1hbHNXaGl0ZTogJ0JsYW5jYXMnLFxuICAgIGNoZXNzaW1hbHNCbGFjazogJ05lZ3JhcycsXG4gICAgY2hlc3NpbWFsc1VubG9ja2VkOiAnTGlzdG9zJyxcbiAgICBjaGVzc2ltYWxzTG9ja2VkOiAnQmxvcXVlYWRvcycsXG4gICAgY2hlc3NpbWFsc1NlbGVjdFBpZWNlOiAnU2VsZWNjaW9uYSB5IG11ZXZlJyxcbiAgICBjaGVzc2ltYWxzUGlja0FueVBpZWNlOiAnVG9jYSB1bm8gZGUgdHVzIHBlb25lcyBwYXJhIHZlciBzdXMgbW92aW1pZW50b3MuJyxcbiAgICBjaGVzc2ltYWxzUGlja1RhcmdldDogJ1RvY2EgdW5hIGNhc2lsbGEgbWFyY2FkYSBwYXJhIG1vdmVyIG8gY2FwdHVyYSBlbiBkaWFnb25hbC4nLFxuICAgIGNoZXNzaW1hbHNQaWNrUG93ZXJUYXJnZXQ6ICdUb2NhIHVuYSBjYXNpbGxhIG1hcmNhZGEgcGFyYSB1c2FyIGxhIGNhcnRhIHNlbGVjY2lvbmFkYS4nLFxuICAgIGNoZXNzaW1hbHNBbmltYWxDYXJkczogJ0NhcnRhcyBkZSBhbmltYWxlcycsXG4gICAgY2hlc3NpbWFsc0NhcmRzTG9ja2VkOiAnQ3J1emEgbGEgbMOtbmVhIGNlbnRyYWwgbyBkZWZpZW5kZSB0dSB0ZXJyaXRvcmlvIHBhcmEgZGVzYmxvcXVlYXJsYXMuJyxcbiAgICBjaGVzc2ltYWxzQ2FyZHNSZWFkeTogJ0NhZGEgY2FydGEgc2UgcHVlZGUgdXNhciB1bmEgdmV6IHBvciBwYXJ0aWRhLicsXG4gICAgY2hlc3NpbWFsc1Jlc2lnbjogJ1JlbmRpcnNlJyxcbiAgICBjaGVzc2ltYWxzQ2hhbmdlTW9kZTogJ0NhbWJpYXIganVlZ28nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzdGFydFRpdGxlOiAnwr9SZWluaWNpYXIgcGFydGlkYT8nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzdGFydEJvZHk6ICdTZSBwZXJkZXLDoSBlbCBwcm9ncmVzbyBkZSBlc3RhIHBhcnRpZGEgeSB2b2x2ZXLDoSBhIGVtcGV6YXIgZGVzZGUgY2Vyby4nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtSG9tZVRpdGxlOiAnwr9DYW1iaWFyIGp1ZWdvPycsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1Ib21lQm9keTogJ1NhbGRyw6FzIGRlIGxhIHBhcnRpZGEgYWN0dWFsIHkgdm9sdmVyw6FzIGFsIHNlbGVjdG9yIGRlIG1pbmkganVlZ29zLicsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1SZXNpZ25UaXRsZTogJ8K/UmVuZGlyc2U/JyxcbiAgICBjaGVzc2ltYWxzQ29uZmlybVJlc2lnbkJvZHk6ICdMYSBwYXJ0aWRhIHRlcm1pbmFyw6EgYWhvcmEgeSBnYW5hcsOhIGVsIHJpdmFsLicsXG4gICAgY2hlc3NpbWFsc0FuaW1hbEVhZ2xlOiAnw4FndWlsYScsXG4gICAgY2hlc3NpbWFsc0FuaW1hbEJ1bGw6ICdUb3JvJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsS2FuZ2Fyb286ICdDYW5ndXJvJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsTGlvbjogJ0xlb25hJyxcbiAgICBjaGVzc2ltYWxzRmluaXNoZWRDaGlwOiAnUGFydGlkYSB0ZXJtaW5hZGEnLFxuICAgIGNoZXNzaW1hbHNHYW1lT3ZlcjogJ0ZpbiBkZSBsYSBwYXJ0aWRhJyxcbiAgICBjaGVzc2ltYWxzTW92ZXNTdW1tYXJ5OiAne21vdmVzfSBqdWdhZGFzJyxcbiAgICBjaGVzc2ltYWxzV2luVGl0bGU6ICdHYW5hbiB7cGxheWVyfScsXG4gICAgY2hlc3NpbWFsc1dpblByb21vdGlvbjogJ1VuIHBlw7NuIGxsZWfDsyBhIGxhIMO6bHRpbWEgZmlsYSBjb24gdW4gcGFzbyBub3JtYWwuJyxcbiAgICBjaGVzc2ltYWxzV2luRWxpbWluYXRpb246ICdObyBxdWVkYW4gcGVvbmVzIHJpdmFsZXMgZW4gZWwgdGFibGVyby4nLFxuICAgIGNoZXNzaW1hbHNXaW5SZXNpZ25hdGlvbjogJ0xhIG90cmEgcGVyc29uYSBzZSByZXRpcsOzLicsXG4gICAgY2hlc3NpbWFsc1JlYXNvblByb21vdGlvbjogJ0Nvcm9uYWNpw7NuJyxcbiAgICBjaGVzc2ltYWxzUmVhc29uRWxpbWluYXRpb246ICdFbGltaW5hY2nDs24nLFxuICAgIGNoZXNzaW1hbHNSZWFzb25SZXNpZ25hdGlvbjogJ1JlbmRpY2nDs24nLFxuICB9LFxuICBlbjoge1xuICAgIG1lbnVUaXRsZTogJ01pbmkgZ2FtZXMnLFxuICAgIG1lbnVTdWJ0aXRsZTogJ0EgdGlueSBzZWNyZXQgY29ybmVyIGZvciBhIHBsYXlmdWwgYnJlYWsuJyxcbiAgICBtZW1vcnlUaXRsZTogJ1JldHJvIE1lbW9yeScsXG4gICAgbWVtb3J5RGVzY3JpcHRpb246ICdGaW5kIHBhaXJzLCB0cmFpbiB5b3VyIG1lbW9yeSwgYW5kIHVubG9jayByZXRybyBzb3VuZHMuJyxcbiAgICBzaW1vblRpdGxlOiAnU2ltb24nLFxuICAgIHNpbW9uRGVzY3JpcHRpb246ICdSZXBlYXQgbG9uZ2VyIGFuZCBsb25nZXIgbGlnaHQtYW5kLXNvdW5kIHBhdHRlcm5zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnQSBwYXduIHJhY2Ugd2l0aCBhbmltYWwgY2FyZHMgYW5kIHRhY3RpY2FsIHBvd2Vycy4nLFxuICAgIHNvb25UaXRsZTogJ0NvbWluZyBzb29uJyxcbiAgICBvcGVuR2FtZTogJ1BsYXknLFxuICAgIGNsb3NlOiAnQ2xvc2UnLFxuICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgbGVhcm5Nb3JlOiAnTGVhcm4gbW9yZScsXG4gICAgaG9tZVRpdGxlOiAnUmV0cm8gTWVtb3J5JyxcbiAgICBob21lU3VidGl0bGU6ICdDaG9vc2UgaG93IHRvIHBsYXksIGZpbmQgZXZlcnkgcGFpciwgYW5kIGtlZXAgeW91ciBiZXN0IGxvY2FsIHNjb3JlcyBvbiB0aGlzIGRldmljZS4nLFxuICAgIHByb2ZpbGVUaXRsZTogJ0Nob29zZSB5b3VyIGFkdmVudHVyZScsXG4gICAgcGxheWVyVGl0bGU6ICdQbGF5ZXInLFxuICAgIHBsYXllclN1YnRpdGxlOiAnWW91ciBuYW1lIGFuZCBhdmF0YXIgYXJlIHNhdmVkIG9ubHkgb24gdGhpcyBkZXZpY2UuJyxcbiAgICBwbGF5ZXJOYW1lOiAnTmFtZScsXG4gICAgcGxheWVyTmFtZVBsYWNlaG9sZGVyOiAnRS5nLiBTb2ZpJyxcbiAgICBkZWZhdWx0UGxheWVyTmFtZTogJ1BsYXllcicsXG4gICAgYXZhdGFyVGl0bGU6ICdBdmF0YXInLFxuICAgIGNvbG9yVGl0bGU6ICdDb2xvcicsXG4gICAgYXJjYWRlUGxheWVyU3VidGl0bGU6ICdVc2VkIGFjcm9zcyBldmVyeSBtaW5pIGdhbWUgb24gdGhpcyBkZXZpY2UuJyxcbiAgICBzZWxlY3RQbGF5ZXI6ICdTZWxlY3QgcGxheWVyJyxcbiAgICBuZXdQbGF5ZXI6ICdOZXcgcGxheWVyJyxcbiAgICBsb2dnZWRQbGF5ZXI6ICdTZXNzaW9uJyxcbiAgICBsb2NhbFBsYXllcjogJ0xvY2FsIHByb2ZpbGUnLFxuICAgIGtpZDogJ0tpZHMnLFxuICAgIGtpZERlc2NyaXB0aW9uOiAnRmV3ZXIgcGFpcnMsIG1vcmUgdGltZSB0byB0YXAsIG5vdGljZSwgYW5kIGRpc2NvdmVyLicsXG4gICAgbmluamE6ICdOaW5qYScsXG4gICAgbmluamFEZXNjcmlwdGlvbjogJ01vcmUgY2FyZHMsIGZhc3RlciB0dXJucywgYW5kIGEgdGltZXIuJyxcbiAgICBkaWZmaWN1bHR5VGl0bGU6ICdEaWZmaWN1bHR5JyxcbiAgICBlYXN5OiAnRWFzeScsXG4gICAgbWVkaXVtOiAnTWVkaXVtJyxcbiAgICBoYXJkOiAnSGFyZCcsXG4gICAgbW9kZVRpdGxlOiAnTW9kZScsXG4gICAgY2xhc3NpYzogJ0NsYXNzaWMnLFxuICAgIGNsYXNzaWNEZXNjcmlwdGlvbjogJ0EgYmFsYW5jZWQgZ2FtZSBmb3IgbWVtb3J5IHByYWN0aWNlLicsXG4gICAgcmVsYXhlZDogJ1JlbGF4ZWQnLFxuICAgIHRpbWVkOiAnVGltZWQnLFxuICAgIHNvdW5kOiAnU291bmQnLFxuICAgIHNvdW5kT246ICdTb3VuZCBvbicsXG4gICAgc291bmRPZmY6ICdTb3VuZCBvZmYnLFxuICAgIHN0YXJ0OiAnUGxheScsXG4gICAgc3RhcnRHYW1lOiAnU3RhcnQgZ2FtZScsXG4gICAgcmVzdGFydDogJ1Jlc3RhcnQnLFxuICAgIGJhY2tUb1NldHVwOiAnQ2hhbmdlIG1vZGUnLFxuICAgIGF0dGVtcHRzOiAnQXR0ZW1wdHMnLFxuICAgIHBhaXJzOiAnUGFpcnMnLFxuICAgIHN0cmVhazogJ1N0cmVhaycsXG4gICAgdGltZTogJ1RpbWUnLFxuICAgIHRpbWVMZWZ0OiAnTGVmdCcsXG4gICAgd2luVGl0bGU6ICdZb3UgZGlkIGl0IScsXG4gICAgd2luQm9keTogJ1lvdSBmb3VuZCBldmVyeSBwYWlyIGluIHthdHRlbXB0c30gYXR0ZW1wdHMgwrcge3RpbWV9IMK3IGJlc3Qgc3RyZWFrIHtzdHJlYWt9LicsXG4gICAgbG9zZVRpdGxlOiAnVGltZSBpcyB1cCcsXG4gICAgbG9zZUJvZHk6ICdUaGF0IHdhcyBjbG9zZS4gUmVzdGFydCBhbmQgdHJ5IGFnYWluLicsXG4gICAgaW5zdHJ1Y3Rpb25zVGl0bGU6ICdIb3cgdG8gcGxheScsXG4gICAgaW5zdHJ1Y3Rpb25zQm9keTogJ1RhcCB0d28gY2FyZHMgdG8gcmV2ZWFsIHRoZW0uIE1hdGNoaW5nIGNhcmRzIHN0YXkgb3Blbjsgb3RoZXJ3aXNlLCByZW1lbWJlciB3aGVyZSB0aGV5IHdlcmUgYW5kIHRyeSBhZ2Fpbi4nLFxuICAgIGxlYWRlcmJvYXJkVGl0bGU6ICdCZXN0IHNjb3JlcycsXG4gICAgbGVhZGVyYm9hcmRQcm9maWxlVGl0bGU6ICdCZXN0IHNjb3Jlczoge3Byb2ZpbGV9JyxcbiAgICBsZWFkZXJib2FyZEVtcHR5OiAnTm8gc2NvcmVzIHlldC4gWW91cnMgY2FuIGJlIHRoZSBmaXJzdC4nLFxuICAgIGxlYWRlcmJvYXJkTW92ZXM6ICd7bW92ZXN9IGF0dGVtcHRzJyxcbiAgICBsZWFkZXJib2FyZFRpbWU6ICd7dGltZX0nLFxuICAgIHJlc3VsdFN0YXRzOiAne2F0dGVtcHRzfSBhdHRlbXB0cyDCtyB7dGltZX0nLFxuICAgIGdvbGQ6ICdHb2xkJyxcbiAgICBzaWx2ZXI6ICdTaWx2ZXInLFxuICAgIGJyb256ZTogJ0Jyb256ZScsXG4gICAgc3Bhcms6ICdOaWNlIGdhbWUnLFxuICAgIHBsYXlBZ2FpbjogJ1BsYXkgYWdhaW4nLFxuICAgIHNpbW9uSG9tZVRpdGxlOiAnU2ltb24nLFxuICAgIHNpbW9uSG9tZVN1YnRpdGxlOiAnV2F0Y2ggdGhlIHNlcXVlbmNlLCBsaXN0ZW4gdG8gdGhlIHRvbmVzLCBhbmQgcmVwZWF0IGl0IGJ5IHRhcHBpbmcgdGhlIGJ1dHRvbnMgaW4gdGhlIHNhbWUgb3JkZXIuJyxcbiAgICBzaW1vbkhvd1RvVGl0bGU6ICdIb3cgdG8gcGxheScsXG4gICAgc2ltb25Ib3dUb0JvZHk6ICdTaW1vbiBzaG93cyBhIGNvbG9yIHNlcXVlbmNlLiBXaGVuIGl0IGVuZHMsIHJlcGVhdCBpdC4gRWFjaCByb3VuZCBhZGRzIG9uZSBuZXcgc3RlcC4nLFxuICAgIHNpbW9uTW9kZUtpZDogJ0tpZHMnLFxuICAgIHNpbW9uTW9kZUtpZERlc2NyaXB0aW9uOiAnU2xvd2VyIGFuZCBnZW50bGVyIGZvciByZWxheGVkIHRhcHBpbmcuJyxcbiAgICBzaW1vbk1vZGVDbGFzc2ljOiAnQ2xhc3NpYycsXG4gICAgc2ltb25Nb2RlQ2xhc3NpY0Rlc2NyaXB0aW9uOiAnQmFsYW5jZWQgcGFjZSBmb3IgbWVtb3J5IHByYWN0aWNlLicsXG4gICAgc2ltb25Nb2RlTmluamE6ICdOaW5qYScsXG4gICAgc2ltb25Nb2RlTmluamFEZXNjcmlwdGlvbjogJ0Zhc3RlciB3aXRoIHNob3J0ZXIgcGF1c2VzIGJldHdlZW4gY29sb3JzLicsXG4gICAgc2ltb25TdGFydDogJ1N0YXJ0JyxcbiAgICBzaW1vbldhdGNoOiAnV2F0Y2gnLFxuICAgIHNpbW9uUmVwZWF0OiAnWW91ciB0dXJuJyxcbiAgICBzaW1vbkdvb2Q6ICdOaWNlIScsXG4gICAgc2ltb25GYWlsZWQ6ICdPb3BzLCB0aGUgc2VxdWVuY2UgYnJva2UnLFxuICAgIHNpbW9uRmFpbGVkQm9keTogJ1lvdSByZWFjaGVkIHJvdW5kIHtyb3VuZH0uIFRyeSBhZ2FpbiBvciBjaGFuZ2UgbW9kZS4nLFxuICAgIHNpbW9uUm91bmQ6ICdSb3VuZCcsXG4gICAgc2ltb25CZXN0Um91bmQ6ICdCZXN0JyxcbiAgICBzaW1vblN0ZXBzOiAnU3RlcHMnLFxuICAgIHNpbW9uTGVhZGVyYm9hcmRUaXRsZTogJ0Jlc3Qgcm91bmRzJyxcbiAgICBzaW1vbkxlYWRlcmJvYXJkTW9kZVRpdGxlOiAnQmVzdCByb3VuZHM6IHttb2RlfScsXG4gICAgc2ltb25MZWFkZXJib2FyZEVtcHR5OiAnTm8gcm91bmRzIHNhdmVkIHlldC4gWW91cnMgY2FuIGJlIGZpcnN0LicsXG4gICAgc2ltb25TY29yZTogJ1JvdW5kIHtyb3VuZH0gwrcge3N0ZXBzfSBzdGVwcycsXG4gICAgY2hlc3NpbWFsc1N1YnRpdGxlOiAnUGxheSBvbiB0aGUgc2FtZSBkZXZpY2UsIGFsdGVybmF0aW5nIHR1cm5zLCB1bnRpbCBhIHBhd24gcHJvbW90ZXMgb3IgdGhlIHJpdmFsIGlzIGVsaW1pbmF0ZWQuJyxcbiAgICBjaGVzc2ltYWxzSG93VG9UaXRsZTogJ0hvdyB0byBwbGF5JyxcbiAgICBjaGVzc2ltYWxzSG93VG9Cb2R5OlxuICAgICAgJ0VhY2ggcGF3biBtb3ZlcyBvbmUgc3F1YXJlIGZvcndhcmQgYW5kIGNhcHR1cmVzIGRpYWdvbmFsbHkuIENyb3NzaW5nIHRoZSBjZW50ZXIsIG9yIGRlZmVuZGluZyBhZ2FpbnN0IGFuIGludmFkaW5nIHJpdmFsIHBhd24sIHVubG9ja3MgZm91ciBvbmUtdXNlIHBvd2Vycy4nLFxuICAgIGNoZXNzaW1hbHNSdWxlc1RpdGxlOiAnQ2hlc3NpbWFscyBydWxlcycsXG4gICAgY2hlc3NpbWFsc1J1bGVzU3VidGl0bGU6ICdBIHF1aWNrIGd1aWRlIHRvIHR1cm5zLCBjYXB0dXJlcywgYW5kIHBvd2Vycy4nLFxuICAgIGNoZXNzaW1hbHNSdWxlR29hbFRpdGxlOiAnR29hbCcsXG4gICAgY2hlc3NpbWFsc1J1bGVHb2FsQm9keTpcbiAgICAgICdXaW4gYnkgbW92aW5nIG9uZSBwYXduIHRvIHRoZSByaXZhbCBiYWNrIHJvdyB3aXRoIGEgbm9ybWFsIHN0ZXAsIG9yIGJ5IGNhcHR1cmluZyBldmVyeSBvcHBvc2luZyBwYXduLicsXG4gICAgY2hlc3NpbWFsc1J1bGVNb3ZlVGl0bGU6ICdCYXNpYyBtb3ZlbWVudCcsXG4gICAgY2hlc3NpbWFsc1J1bGVNb3ZlQm9keTpcbiAgICAgICdPbiB5b3VyIHR1cm4sIHRhcCBvbmUgb2YgeW91ciBwYXducy4gSXQgY2FuIG1vdmUgb25lIHNxdWFyZSBmb3J3YXJkIGlmIHRoZSBzcXVhcmUgaXMgZnJlZSwgb3IgY2FwdHVyZSBhIHJpdmFsIHBpZWNlIGRpYWdvbmFsbHkuJyxcbiAgICBjaGVzc2ltYWxzUnVsZVBvd2Vyc1RpdGxlOiAnV2hlbiBwb3dlcnMgdW5sb2NrJyxcbiAgICBjaGVzc2ltYWxzUnVsZVBvd2Vyc0JvZHk6XG4gICAgICAnWW91ciBjYXJkcyB1bmxvY2sgd2hlbiBvbmUgb2YgeW91ciBwYXducyBjcm9zc2VzIHRoZSBjZW50ZXIgbGluZSwgb3Igd2hlbiBhIHJpdmFsIHBhd24gZW50ZXJzIHlvdXIgaGFsZiBvZiB0aGUgYm9hcmQuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUNhcmRzVGl0bGU6ICdBbmltYWwgY2FyZHMnLFxuICAgIGNoZXNzaW1hbHNSdWxlRWFnbGU6ICdFYWdsZTogbW92ZXMgdXAgdG8gMyBzcXVhcmVzIGRpYWdvbmFsbHksIGZvcndhcmQgb3IgYmFja3dhcmQuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUJ1bGw6ICdCdWxsOiBtb3ZlcyB1cCB0byAzIHNxdWFyZXMgaW4gYSBzdHJhaWdodCBsaW5lLCBpbmNsdWRpbmcgc2lkZXdheXMuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUthbmdhcm9vOiAnS2FuZ2Fyb286IGp1bXBzIHR3byBzcXVhcmVzIGluIGEgc3RyYWlnaHQgbGluZSwgd2l0aG91dCBuZWVkaW5nIGEgcGllY2UgaW4gYmV0d2Vlbi4gSXQgY2FuIGxhbmQgb24gYW4gZW1wdHkgc3F1YXJlIG9yIGNhcHR1cmUgYSByaXZhbCBwaWVjZS4nLFxuICAgIGNoZXNzaW1hbHNSdWxlTGlvbjogJ0xpb25lc3M6IG1vdmVzIHVwIHRvIDMgc3F1YXJlcyBpbiBhbnkgZGlyZWN0aW9uLicsXG4gICAgY2hlc3NpbWFsc1J1bGVMaW1pdHNUaXRsZTogJ0JhbGFuY2UgcnVsZXMnLFxuICAgIGNoZXNzaW1hbHNSdWxlTGltaXRzQm9keTpcbiAgICAgICdFYWNoIGNhcmQgY2FuIGJlIHVzZWQgb25jZSBwZXIgZ2FtZS4gTm8gcG93ZXIgY2FuIGxhbmQgZGlyZWN0bHkgb24gdGhlIGZpbmFsIHJvdzogdGhlIHdpbm5pbmcgc3RlcCBtdXN0IGFsd2F5cyBiZSBhIG5vcm1hbCBmb3J3YXJkIG1vdmUuJyxcbiAgICBjaGVzc2ltYWxzQm9hcmRTaXplOiAnQm9hcmQgc2l6ZScsXG4gICAgY2hlc3NpbWFsc1NpemVTbWFsbDogJ1F1aWNrIHRvIGxlYXJuLicsXG4gICAgY2hlc3NpbWFsc1NpemVMYXJnZTogJ01vcmUgcm9vbSBhbmQgbW9yZSBzdHJhdGVneS4nLFxuICAgIGNoZXNzaW1hbHNTdGFydDogJ1N0YXJ0IGdhbWUnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVUaXRsZTogJ1BsYXkgd2l0aCBhIGxpbmsnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVCb2R5OiAnQ3JlYXRlIGEgZ2FtZSwgc2hhcmUgdGhlIGNvZGUsIGFuZCBhbm90aGVyIHBsYXllciBqb2lucyBmcm9tIHRoZWlyIGRldmljZS4gSWYgdHdvIHBsYXllcnMgYWxyZWFkeSBqb2luZWQsIGV2ZXJ5b25lIGVsc2UgY2FuIHdhdGNoLicsXG4gICAgY2hlc3NpbWFsc0NyZWF0ZU9ubGluZTogJ0NyZWF0ZSBvbmxpbmUgZ2FtZScsXG4gICAgY2hlc3NpbWFsc0NyZWF0ZU9ubGluZUhpbnQ6ICdUaGUgY29kZSBpcyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSB3aGVuIHlvdSBjcmVhdGUgdGhlIGdhbWUuJyxcbiAgICBjaGVzc2ltYWxzSm9pbk9ubGluZVRpdGxlOiAnSm9pbiBhIGdhbWUnLFxuICAgIGNoZXNzaW1hbHNKb2luQ29kZTogJ0dhbWUgY29kZScsXG4gICAgY2hlc3NpbWFsc0pvaW5Db2RlUGxhY2Vob2xkZXI6ICdFLmcuIEFCQ0QtMTIzNCcsXG4gICAgY2hlc3NpbWFsc0pvaW5PbmxpbmU6ICdKb2luJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ1RpdGxlOiAnV2FpdGluZyBmb3Igcml2YWwnLFxuICAgIGNoZXNzaW1hbHNXYWl0aW5nQm9keTogJ1NoYXJlIHRoaXMgbGluayBvciBjb2RlLiBXaGVuIGFub3RoZXIgcGxheWVyIGpvaW5zLCBjb2xvcnMgYXJlIHJhbmRvbWx5IGFzc2lnbmVkIGFuZCB0aGUgZ2FtZSBzdGFydHMuJyxcbiAgICBjaGVzc2ltYWxzR2FtZUNvZGU6ICdDb2RlJyxcbiAgICBjaGVzc2ltYWxzQ29weUxpbms6ICdDb3B5IGxpbmsnLFxuICAgIGNoZXNzaW1hbHNTaGFyZUxpbms6ICdTaGFyZSBsaW5rJyxcbiAgICBjaGVzc2ltYWxzTGlua0NvcGllZDogJ0dhbWUgbGluayBjb3BpZWQuJyxcbiAgICBjaGVzc2ltYWxzU2hhcmVUZXh0OiAnSm9pbiBteSBDaGVzc2ltYWxzIGdhbWUuJyxcbiAgICBjaGVzc2ltYWxzT25saW5lV2FpdGluZzogJ1dhaXRpbmcnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVQbGF5ZXI6ICdPbmxpbmUnLFxuICAgIGNoZXNzaW1hbHNTcGVjdGF0b3I6ICdTcGVjdGF0b3InLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVWaWV3ZXI6ICdUaGlzIGdhbWUgYWxyZWFkeSBoYXMgdHdvIHBsYXllcnMuIFlvdSBjYW4gd2F0Y2ggaXQgcGxheSBvdXQuJyxcbiAgICBjaGVzc2ltYWxzWW91clR1cm46ICdZb3VyIHR1cm4nLFxuICAgIGNoZXNzaW1hbHNZb3VyVHVybkJvZHk6ICdUYXAgb25lIG9mIHlvdXIgcGF3bnMgdG8gc2VlIGl0cyBtb3ZlcyBhbmQgcGxheSB3aGVuIHlvdSBhcmUgcmVhZHkuJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ1R1cm46ICdXYWl0IGZvciB0aGUgb3RoZXIgcGxheWVyIHRvIG1vdmUuJyxcbiAgICBjaGVzc2ltYWxzUmVtYXRjaDogJ1JlcXVlc3QgcmVtYXRjaCcsXG4gICAgY2hlc3NpbWFsc09ubGluZUVycm9yOiAnV2UgY291bGQgbm90IG9wZW4gdGhpcyBnYW1lLiBDaGVjayB0aGUgY29kZSBvciB0cnkgYWdhaW4uJyxcbiAgICBjaGVzc2ltYWxzUmVzdW1lU3BsYXNoVGl0bGU6ICdSZXN1bWluZyBnYW1lJyxcbiAgICBjaGVzc2ltYWxzUmVzdW1lU3BsYXNoQm9keTogJ0xvYWRpbmcgdGhlIGJvYXJkIGFuZCBzeW5jaW5nIHRoZSB0dXJuLicsXG4gICAgY2hlc3NpbWFsc1R1cm46ICdUdXJuJyxcbiAgICBjaGVzc2ltYWxzT25lRGV2aWNlOiAnT25lIGRldmljZScsXG4gICAgY2hlc3NpbWFsc09uZURldmljZUJvZHk6ICdUd28gcGVvcGxlIGFsdGVybmF0ZSB0dXJucyBvbiB0aGUgc2FtZSBzY3JlZW4uJyxcbiAgICBjaGVzc2ltYWxzTW9kZVRpdGxlOiAnR2FtZSBtb2RlJyxcbiAgICBjaGVzc2ltYWxzQm90TW9kZTogJ0FnYWluc3QgYm90JyxcbiAgICBjaGVzc2ltYWxzQm90TW9kZUJvZHk6ICdQbGF5IHdoaXRlIGFnYWluc3QgQ2hlc3NpYm90IG9uIHRoaXMgZGV2aWNlLicsXG4gICAgY2hlc3NpbWFsc0JvdERpZmZpY3VsdHk6ICdCb3QgZGlmZmljdWx0eScsXG4gICAgY2hlc3NpbWFsc0JvdEVhc3k6ICdHZW50bGUnLFxuICAgIGNoZXNzaW1hbHNCb3ROb3JtYWw6ICdOb3JtYWwnLFxuICAgIGNoZXNzaW1hbHNCb3RIYXJkOiAnTmluamEnLFxuICAgIGNoZXNzaW1hbHNCb3RUaGlua2luZ1RpdGxlOiAnQ2hlc3NpYm90IGlzIHRoaW5raW5nJyxcbiAgICBjaGVzc2ltYWxzQm90VGhpbmtpbmdCb2R5OiAnVGhlIGJvdCBpcyBtb3ZpbmcgYmxhY2suIFdhaXQgYSBtb21lbnQgdG8gY29udGludWUuJyxcbiAgICBjaGVzc2ltYWxzQm90WW91clR1cm5Cb2R5OiAnWW91IHBsYXkgd2hpdGUuIFRhcCBvbmUgb2YgeW91ciBwYXducyB0byBzZWUgaXRzIG1vdmVzLicsXG4gICAgY2hlc3NpbWFsc0N1cnJlbnRUdXJuOiAne3BsYXllcn0gdG8gbW92ZScsXG4gICAgY2hlc3NpbWFsc0JvYXJkRmxpcHM6ICdUaGUgYm9hcmQgYXV0b21hdGljYWxseSBmYWNlcyB0aGUgcGxheWVyIHdob3NlIHR1cm4gaXQgaXMuJyxcbiAgICBjaGVzc2ltYWxzUml2YWw6ICdSaXZhbCcsXG4gICAgY2hlc3NpbWFsc01vdmVzOiAnTW92ZXMnLFxuICAgIGNoZXNzaW1hbHNQb3dlcnM6ICdQb3dlcnMnLFxuICAgIGNoZXNzaW1hbHNXaW5uZXI6ICdXaW5uZXInLFxuICAgIGNoZXNzaW1hbHNSZXN1bHQ6ICdSZXN1bHQnLFxuICAgIGNoZXNzaW1hbHNCb2FyZDogJ0JvYXJkJyxcbiAgICBjaGVzc2ltYWxzV2hpdGU6ICdXaGl0ZScsXG4gICAgY2hlc3NpbWFsc0JsYWNrOiAnQmxhY2snLFxuICAgIGNoZXNzaW1hbHNVbmxvY2tlZDogJ1JlYWR5JyxcbiAgICBjaGVzc2ltYWxzTG9ja2VkOiAnTG9ja2VkJyxcbiAgICBjaGVzc2ltYWxzU2VsZWN0UGllY2U6ICdTZWxlY3QgYW5kIG1vdmUnLFxuICAgIGNoZXNzaW1hbHNQaWNrQW55UGllY2U6ICdUYXAgb25lIG9mIHlvdXIgcGF3bnMgdG8gc2VlIGl0cyBtb3Zlcy4nLFxuICAgIGNoZXNzaW1hbHNQaWNrVGFyZ2V0OiAnVGFwIGEgbWFya2VkIHNxdWFyZSB0byBtb3ZlLCBvciBjYXB0dXJlIGRpYWdvbmFsbHkuJyxcbiAgICBjaGVzc2ltYWxzUGlja1Bvd2VyVGFyZ2V0OiAnVGFwIGEgbWFya2VkIHNxdWFyZSB0byB1c2UgdGhlIHNlbGVjdGVkIGNhcmQuJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsQ2FyZHM6ICdBbmltYWwgY2FyZHMnLFxuICAgIGNoZXNzaW1hbHNDYXJkc0xvY2tlZDogJ0Nyb3NzIHRoZSBjZW50ZXIgbGluZSBvciBkZWZlbmQgeW91ciB0ZXJyaXRvcnkgdG8gdW5sb2NrIHRoZW0uJyxcbiAgICBjaGVzc2ltYWxzQ2FyZHNSZWFkeTogJ0VhY2ggY2FyZCBjYW4gYmUgdXNlZCBvbmNlIHBlciBnYW1lLicsXG4gICAgY2hlc3NpbWFsc1Jlc2lnbjogJ1Jlc2lnbicsXG4gICAgY2hlc3NpbWFsc0NoYW5nZU1vZGU6ICdDaGFuZ2UgZ2FtZScsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1SZXN0YXJ0VGl0bGU6ICdSZXN0YXJ0IGdhbWU/JyxcbiAgICBjaGVzc2ltYWxzQ29uZmlybVJlc3RhcnRCb2R5OiAnVGhpcyBnYW1lIHByb2dyZXNzIHdpbGwgYmUgbG9zdCBhbmQgdGhlIGJvYXJkIHdpbGwgc3RhcnQgb3Zlci4nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtSG9tZVRpdGxlOiAnQ2hhbmdlIGdhbWU/JyxcbiAgICBjaGVzc2ltYWxzQ29uZmlybUhvbWVCb2R5OiAnWW91IHdpbGwgbGVhdmUgdGhlIGN1cnJlbnQgZ2FtZSBhbmQgcmV0dXJuIHRvIHRoZSBtaW5pIGdhbWVzIHNlbGVjdG9yLicsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1SZXNpZ25UaXRsZTogJ1Jlc2lnbj8nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzaWduQm9keTogJ1RoZSBnYW1lIHdpbGwgZW5kIG5vdyBhbmQgdGhlIHJpdmFsIHBsYXllciB3aWxsIHdpbi4nLFxuICAgIGNoZXNzaW1hbHNBbmltYWxFYWdsZTogJ0VhZ2xlJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsQnVsbDogJ0J1bGwnLFxuICAgIGNoZXNzaW1hbHNBbmltYWxLYW5nYXJvbzogJ0thbmdhcm9vJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsTGlvbjogJ0xpb25lc3MnLFxuICAgIGNoZXNzaW1hbHNGaW5pc2hlZENoaXA6ICdHYW1lIGZpbmlzaGVkJyxcbiAgICBjaGVzc2ltYWxzR2FtZU92ZXI6ICdHYW1lIG92ZXInLFxuICAgIGNoZXNzaW1hbHNNb3Zlc1N1bW1hcnk6ICd7bW92ZXN9IG1vdmVzJyxcbiAgICBjaGVzc2ltYWxzV2luVGl0bGU6ICd7cGxheWVyfSB3aW4nLFxuICAgIGNoZXNzaW1hbHNXaW5Qcm9tb3Rpb246ICdBIHBhd24gcmVhY2hlZCB0aGUgZmluYWwgcm93IHdpdGggYSBub3JtYWwgc3RlcC4nLFxuICAgIGNoZXNzaW1hbHNXaW5FbGltaW5hdGlvbjogJ05vIHJpdmFsIHBhd25zIHJlbWFpbiBvbiB0aGUgYm9hcmQuJyxcbiAgICBjaGVzc2ltYWxzV2luUmVzaWduYXRpb246ICdUaGUgb3RoZXIgcGxheWVyIHJlc2lnbmVkLicsXG4gICAgY2hlc3NpbWFsc1JlYXNvblByb21vdGlvbjogJ1Byb21vdGlvbicsXG4gICAgY2hlc3NpbWFsc1JlYXNvbkVsaW1pbmF0aW9uOiAnRWxpbWluYXRpb24nLFxuICAgIGNoZXNzaW1hbHNSZWFzb25SZXNpZ25hdGlvbjogJ1Jlc2lnbmF0aW9uJyxcbiAgfSxcbn07XG4iXX0=
397
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1nYW1lcy5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL21pbmktZ2FtZXMuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQXFCO0lBQy9DLEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLFlBQVksRUFBRSx5Q0FBeUM7UUFDdkQsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixpQkFBaUIsRUFBRSxpRUFBaUU7UUFDcEYsVUFBVSxFQUFFLE9BQU87UUFDbkIsZ0JBQWdCLEVBQUUsNkNBQTZDO1FBQy9ELGVBQWUsRUFBRSxZQUFZO1FBQzdCLHFCQUFxQixFQUFFLGtFQUFrRTtRQUN6RixTQUFTLEVBQUUsY0FBYztRQUN6QixRQUFRLEVBQUUsT0FBTztRQUNqQixLQUFLLEVBQUUsUUFBUTtRQUNmLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsWUFBWSxFQUFFLDhGQUE4RjtRQUM1RyxZQUFZLEVBQUUsbUJBQW1CO1FBQ2pDLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGNBQWMsRUFBRSx5REFBeUQ7UUFDekUsVUFBVSxFQUFFLFFBQVE7UUFDcEIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxpQkFBaUIsRUFBRSxTQUFTO1FBQzVCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLG9CQUFvQixFQUFFLHNEQUFzRDtRQUM1RSxZQUFZLEVBQUUscUJBQXFCO1FBQ25DLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFlBQVksRUFBRSxRQUFRO1FBQ3RCLFdBQVcsRUFBRSxjQUFjO1FBQzNCLEdBQUcsRUFBRSxRQUFRO1FBQ2IsY0FBYyxFQUFFLHdEQUF3RDtRQUN4RSxLQUFLLEVBQUUs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QW9CLEVBQUUsU0FBUztRQUMvQixzQkFBc0IsRUFBRSxlQUFlO1FBQ3ZDLGtCQUFrQixFQUFFLFdBQVc7UUFDL0Isc0JBQXNCLEVBQUUsZUFBZTtRQUN2QyxrQkFBa0IsRUFBRSxjQUFjO1FBQ2xDLHNCQUFzQixFQUFFLGtEQUFrRDtRQUMxRSx3QkFBd0IsRUFBRSxxQ0FBcUM7UUFDL0Qsd0JBQXdCLEVBQUUsNEJBQTRCO1FBQ3RELHlCQUF5QixFQUFFLFdBQVc7UUFDdEMsMkJBQTJCLEVBQUUsYUFBYTtRQUMxQywyQkFBMkIsRUFBRSxhQUFhO0tBQzNDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IE1JTklfR0FNRVNfSTE4TjogTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgZXM6IHtcbiAgICBtZW51VGl0bGU6ICdNaW5pIGp1ZWdvcycsXG4gICAgbWVudVN1YnRpdGxlOiAnVW4gcmluY8OzbiBzZWNyZXRvIHBhcmEganVnYXIgdW4gcmF0aXRvLicsXG4gICAgbWVtb3J5VGl0bGU6ICdNZW1vcmljZSBSZXRybycsXG4gICAgbWVtb3J5RGVzY3JpcHRpb246ICdFbmN1ZW50cmEgcGFyZXMsIGVudHJlbmEgbGEgbWVtb3JpYSB5IGRlc2Jsb3F1ZWEgc29uaWRvcyByZXRyby4nLFxuICAgIHNpbW9uVGl0bGU6ICdTaW3Ds24nLFxuICAgIHNpbW9uRGVzY3JpcHRpb246ICdSZXBpdGUgbHVjZXMgeSBzb25pZG9zIGNhZGEgdmV6IG3DoXMgbGFyZ29zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnVW5hIGNhcnJlcmEgZGUgcGVvbmVzIGNvbiBjYXJ0YXMgZGUgYW5pbWFsZXMgeSBwb2RlcmVzIHTDoWN0aWNvcy4nLFxuICAgIHNvb25UaXRsZTogJ1Byw7N4aW1hbWVudGUnLFxuICAgIG9wZW5HYW1lOiAnSnVnYXInLFxuICAgIGNsb3NlOiAnQ2VycmFyJyxcbiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgbGVhcm5Nb3JlOiAnQXByZW5kZXIgbcOhcycsXG4gICAgaG9tZVRpdGxlOiAnTWVtb3JpY2UgUmV0cm8nLFxuICAgIGhvbWVTdWJ0aXRsZTogJ0VsaWdlIGPDs21vIGp1Z2FyLCBlbmN1ZW50cmEgdG9kb3MgbG9zIHBhcmVzIHkgZ3VhcmRhIHR1cyBtZWpvcmVzIG1hcmNhcyBlbiBlc3RlIGRpc3Bvc2l0aXZvLicsXG4gICAgcHJvZmlsZVRpdGxlOiAnRWxpZ2UgdHUgYXZlbnR1cmEnLFxuICAgIHBsYXllclRpdGxlOiAnSnVnYWRvcicsXG4gICAgcGxheWVyU3VidGl0bGU6ICdUdSBub21icmUgeSBhdmF0YXIgc2UgZ3VhcmRhbiBzb2xvIGVuIGVzdGUgZGlzcG9zaXRpdm8uJyxcbiAgICBwbGF5ZXJOYW1lOiAnTm9tYnJlJyxcbiAgICBwbGF5ZXJOYW1lUGxhY2Vob2xkZXI6ICdFajogU29maScsXG4gICAgZGVmYXVsdFBsYXllck5hbWU6ICdKdWdhZG9yJyxcbiAgICBhdmF0YXJUaXRsZTogJ0F2YXRhcicsXG4gICAgY29sb3JUaXRsZTogJ0NvbG9yJyxcbiAgICBhcmNhZGVQbGF5ZXJTdWJ0aXRsZTogJ1NlIHVzYSBlbiB0b2RvcyBsb3MgbWluaSBqdWVnb3MgZGUgZXN0ZSBkaXNwb3NpdGl2by4nLFxuICAgIHNlbGVjdFBsYXllcjogJ1NlbGVjY2lvbmFyIGp1Z2Fkb3InLFxuICAgIG5ld1BsYXllcjogJ051ZXZvIGp1Z2Fkb3InLFxuICAgIGxvZ2dlZFBsYXllcjogJ1Nlc2nDs24nLFxuICAgIGxvY2FsUGxheWVyOiAnUGVyZmlsIGxvY2FsJyxcbiAgICBraWQ6ICdQZXF1ZXMnLFxuICAgIGtpZERlc2NyaXB0aW9uOiAnUG9jb3MgcGFyZXMsIG3DoXMgdGllbXBvIHBhcmEgdG9jYXIsIG1pcmFyIHkgZGVzY3VicmlyLicsXG4gICAgbmluamE6ICdOaW5qYScsXG4gICAgbmluamFEZXNjcmlwdGlvbjogJ03DoXMgY2FydGFzLCBtZW5vcyBlc3BlcmEgeSBjb250cmFycmVsb2ouJyxcbiAgICBkaWZmaWN1bHR5VGl0bGU6ICdEaWZpY3VsdGFkJyxcbiAgICBlYXN5OiAnRsOhY2lsJyxcbiAgICBtZWRpdW06ICdNZWRpbycsXG4gICAgaGFyZDogJ0RpZsOtY2lsJyxcbiAgICBtb2RlVGl0bGU6ICdNb2RvJyxcbiAgICBjbGFzc2ljOiAnQ2zDoXNpY28nLFxuICAgIGNsYXNzaWNEZXNjcmlwdGlvbjogJ1VuYSBwYXJ0aWRhIGVxdWlsaWJyYWRhIHBhcmEgcHJhY3RpY2FyIG1lbW9yaWEuJyxcbiAgICByZWxheGVkOiAnUmVsYWphZG8nLFxuICAgIHRpbWVkOiAnQ29udHJhcnJlbG9qJyxcbiAgICBzb3VuZDogJ1NvbmlkbycsXG4gICAgc291bmRPbjogJ1NvbmlkbyBhY3RpdmFkbycsXG4gICAgc291bmRPZmY6ICdTb25pZG8gZGVzYWN0aXZhZG8nLFxuICAgIHN0YXJ0OiAnSnVnYXInLFxuICAgIHN0YXJ0R2FtZTogJ0VtcGV6YXIgcGFydGlkYScsXG4gICAgcmVzdGFydDogJ1JlaW5pY2lhcicsXG4gICAgYmFja1RvU2V0dXA6ICdDYW1iaWFyIG1vZG8nLFxuICAgIGF0dGVtcHRzOiAnSW50ZW50b3MnLFxuICAgIHBhaXJzOiAnUGFyZXMnLFxuICAgIHN0cmVhazogJ1JhY2hhJyxcbiAgICB0aW1lOiAnVGllbXBvJyxcbiAgICB0aW1lTGVmdDogJ1F1ZWRhJyxcbiAgICB3aW5UaXRsZTogJ8KhTG8gbG9ncmFzdGUhJyxcbiAgICB3aW5Cb2R5OiAnRW5jb250cmFzdGUgdG9kb3MgbG9zIHBhcmVzIGVuIHthdHRlbXB0c30gaW50ZW50b3Mgwrcge3RpbWV9IMK3IHJhY2hhIG3DoXhpbWEge3N0cmVha30uJyxcbiAgICBsb3NlVGl0bGU6ICdUaWVtcG8gYWdvdGFkbycsXG4gICAgbG9zZUJvZHk6ICdFc3R1dm8gY2VyY2EuIFJlaW5pY2lhIHkgcHJ1ZWJhIG90cmEgdmV6LicsXG4gICAgaW5zdHJ1Y3Rpb25zVGl0bGU6ICdDw7NtbyBzZSBqdWVnYScsXG4gICAgaW5zdHJ1Y3Rpb25zQm9keTogJ1RvY2EgZG9zIGNhcnRhcyBwYXJhIGRlc2N1YnJpcmxhcy4gU2kgc29uIGlndWFsZXMgcXVlZGFuIGFiaWVydGFzOyBzaSBubywgbWVtb3JpemEgZMOzbmRlIGVzdGFiYW4geSBwcnVlYmEgZGUgbnVldm8uJyxcbiAgICBsZWFkZXJib2FyZFRpdGxlOiAnTWVqb3JlcyBtYXJjYXMnLFxuICAgIGxlYWRlcmJvYXJkUHJvZmlsZVRpdGxlOiAnTWVqb3JlcyBtYXJjYXM6IHtwcm9maWxlfScsXG4gICAgbGVhZGVyYm9hcmRFbXB0eTogJ0HDum4gbm8gaGF5IG1hcmNhcy4gTGEgcHJpbWVyYSBwdWVkZSBzZXIgdHV5YS4nLFxuICAgIGxlYWRlcmJvYXJkTW92ZXM6ICd7bW92ZXN9IGludGVudG9zJyxcbiAgICBsZWFkZXJib2FyZFRpbWU6ICd7dGltZX0nLFxuICAgIHJlc3VsdFN0YXRzOiAne2F0dGVtcHRzfSBpbnRlbnRvcyDCtyB7dGltZX0nLFxuICAgIGdvbGQ6ICdPcm8nLFxuICAgIHNpbHZlcjogJ1BsYXRhJyxcbiAgICBicm9uemU6ICdCcm9uY2UnLFxuICAgIHNwYXJrOiAnQnVlbmEgcGFydGlkYScsXG4gICAgcGxheUFnYWluOiAnSnVnYXIgb3RyYSB2ZXonLFxuICAgIHNpbW9uSG9tZVRpdGxlOiAnU2ltw7NuJyxcbiAgICBzaW1vbkhvbWVTdWJ0aXRsZTogJ01pcmEgbGEgc2VjdWVuY2lhLCBlc2N1Y2hhIGxvcyB0b25vcyB5IHJlcMOtdGVsYSB0b2NhbmRvIGxvcyBib3RvbmVzIGVuIGVsIG1pc21vIG9yZGVuLicsXG4gICAgc2ltb25Ib3dUb1RpdGxlOiAnQ8OzbW8gc2UganVlZ2EnLFxuICAgIHNpbW9uSG93VG9Cb2R5OiAnU2ltw7NuIG11ZXN0cmEgdW5hIHNlY3VlbmNpYSBkZSBjb2xvcmVzLiBDdWFuZG8gdGVybWluZSwgcmVww610ZWxhLiBDYWRhIHJvbmRhIGFncmVnYSB1biBwYXNvIG51ZXZvLicsXG4gICAgc2ltb25Nb2RlS2lkOiAnUGVxdWVzJyxcbiAgICBzaW1vbk1vZGVLaWREZXNjcmlwdGlvbjogJ03DoXMgbGVudG8geSBhbWFibGUgcGFyYSB0b2NhciBzaW4gYXB1cm8uJyxcbiAgICBzaW1vbk1vZGVDbGFzc2ljOiAnQ2zDoXNpY28nLFxuICAgIHNpbW9uTW9kZUNsYXNzaWNEZXNjcmlwdGlvbjogJ1JpdG1vIGVxdWlsaWJyYWRvIHBhcmEgcHJhY3RpY2FyIG1lbW9yaWEuJyxcbiAgICBzaW1vbk1vZGVOaW5qYTogJ05pbmphJyxcbiAgICBzaW1vbk1vZGVOaW5qYURlc2NyaXB0aW9uOiAnTcOhcyByw6FwaWRvIHkgY29uIG1lbm9zIHBhdXNhIGVudHJlIGNvbG9yZXMuJyxcbiAgICBzaW1vblN0YXJ0OiAnRW1wZXphcicsXG4gICAgc2ltb25XYXRjaDogJ01pcmEnLFxuICAgIHNpbW9uUmVwZWF0OiAnVHUgdHVybm8nLFxuICAgIHNpbW9uR29vZDogJ8KhQmllbiEnLFxuICAgIHNpbW9uRmFpbGVkOiAnVXBzLCBzZSBjb3J0w7MgbGEgc2VjdWVuY2lhJyxcbiAgICBzaW1vbkZhaWxlZEJvZHk6ICdMbGVnYXN0ZSBhIGxhIHJvbmRhIHtyb3VuZH0uIFB1ZWRlcyBpbnRlbnRhcmxvIG90cmEgdmV6IG8gY2FtYmlhciBlbCBtb2RvLicsXG4gICAgc2ltb25Sb3VuZDogJ1JvbmRhJyxcbiAgICBzaW1vbkJlc3RSb3VuZDogJ01lam9yJyxcbiAgICBzaW1vblN0ZXBzOiAnUGFzb3MnLFxuICAgIHNpbW9uTGVhZGVyYm9hcmRUaXRsZTogJ01lam9yZXMgcm9uZGFzJyxcbiAgICBzaW1vbkxlYWRlcmJvYXJkTW9kZVRpdGxlOiAnTWVqb3JlcyByb25kYXM6IHttb2RlfScsXG4gICAgc2ltb25MZWFkZXJib2FyZEVtcHR5OiAnQcO6biBubyBoYXkgcm9uZGFzIGd1YXJkYWRhcy4gTGEgcHJpbWVyYSBwdWVkZSBzZXIgdHV5YS4nLFxuICAgIHNpbW9uU2NvcmU6ICdSb25kYSB7cm91bmR9IMK3IHtzdGVwc30gcGFzb3MnLFxuICAgIGNoZXNzaW1hbHNTdWJ0aXRsZTogJ0p1ZWdhIGVuIGVsIG1pc21vIGRpc3Bvc2l0aXZvLCBhbHRlcm5hbmRvIHR1cm5vcywgaGFzdGEgY29yb25hciB1biBwZcOzbiBvIGVsaW1pbmFyIGFsIHJpdmFsLicsXG4gICAgY2hlc3NpbWFsc0hvd1RvVGl0bGU6ICdDw7NtbyBzZSBqdWVnYScsXG4gICAgY2hlc3NpbWFsc0hvd1RvQm9keTpcbiAgICAgICdDYWRhIHBlw7NuIGF2YW56YSB1bmEgY2FzaWxsYSB5IGNhcHR1cmEgZW4gZGlhZ29uYWwuIEN1YW5kbyBjcnV6YSBlbCBjZW50cm8sIG8gZWwgcml2YWwgZW50cmEgZW4gdHUgbGFkbywgc2UgZGVzYmxvcXVlYW4gY3VhdHJvIHBvZGVyZXMgZGUgdW4gc29sbyB1c28uJyxcbiAgICBjaGVzc2ltYWxzUnVsZXNUaXRsZTogJ1JlZ2xhcyBkZSBDaGVzc2ltYWxzJyxcbiAgICBjaGVzc2ltYWxzUnVsZXNTdWJ0aXRsZTogJ1VuYSBndcOtYSByw6FwaWRhIHBhcmEgZW50ZW5kZXIgdHVybm9zLCBjYXB0dXJhcyB5IHBvZGVyZXMuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUdvYWxUaXRsZTogJ09iamV0aXZvJyxcbiAgICBjaGVzc2ltYWxzUnVsZUdvYWxCb2R5OlxuICAgICAgJ0dhbmEgcXVpZW4gbGxldmEgdW4gcGXDs24gaGFzdGEgbGEgw7psdGltYSBmaWxhIHJpdmFsIGNvbiB1biBwYXNvIG5vcm1hbCwgbyBxdWllbiBjYXB0dXJhIHRvZG9zIGxvcyBwZW9uZXMgZGVsIG9wb25lbnRlLicsXG4gICAgY2hlc3NpbWFsc1J1bGVNb3ZlVGl0bGU6ICdNb3ZpbWllbnRvIGLDoXNpY28nLFxuICAgIGNoZXNzaW1hbHNSdWxlTW92ZUJvZHk6XG4gICAgICAnRW4gdHUgdHVybm8sIHRvY2EgdW5vIGRlIHR1cyBwZW9uZXMuIFB1ZWRlIGF2YW56YXIgdW5hIGNhc2lsbGEgaGFjaWEgYWRlbGFudGUgc2kgZXN0w6EgbGlicmUsIG8gY2FwdHVyYXIgdW5hIHBpZXphIHJpdmFsIGVuIGRpYWdvbmFsLicsXG4gICAgY2hlc3NpbWFsc1J1bGVQb3dlcnNUaXRsZTogJ0N1w6FuZG8gc2UgYWN0aXZhbiBsb3MgcG9kZXJlcycsXG4gICAgY2hlc3NpbWFsc1J1bGVQb3dlcnNCb2R5OlxuICAgICAgJ1R1cyBjYXJ0YXMgc2UgZGVzYmxvcXVlYW4gY3VhbmRvIHVubyBkZSB0dXMgcGVvbmVzIGNydXphIGxhIGzDrW5lYSBjZW50cmFsIG8gY3VhbmRvIHVuIHBlw7NuIHJpdmFsIGVudHJhIGVuIHR1IG1pdGFkIGRlbCB0YWJsZXJvLicsXG4gICAgY2hlc3NpbWFsc1J1bGVDYXJkc1RpdGxlOiAnQ2FydGFzIGRlIGFuaW1hbGVzJyxcbiAgICBjaGVzc2ltYWxzUnVsZUVhZ2xlOiAnw4FndWlsYTogc2UgbXVldmUgaGFzdGEgMyBjYXNpbGxhcyBlbiBkaWFnb25hbCwgaGFjaWEgYWRlbGFudGUgbyBhdHLDoXMuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUJ1bGw6ICdUb3JvOiBzZSBtdWV2ZSBoYXN0YSAzIGNhc2lsbGFzIGVuIGzDrW5lYSByZWN0YSwgaW5jbHVzbyBoYWNpYSBsb3MgbGFkb3MuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUthbmdhcm9vOiAnQ2FuZ3Vybzogc2FsdGEgZW4gTCwgY29tbyBlbCBjYWJhbGxvIGRlbCBhamVkcmV6LiBQdWVkZSBzYWx0YXIgcG9yIGVuY2ltYSBkZSBwaWV6YXMgeSBjYWVyIGxpYnJlIG8gY2FwdHVyYXIgdW5hIHBpZXphIHJpdmFsLicsXG4gICAgY2hlc3NpbWFsc1J1bGVMaW9uOiAnTGVvbmE6IHNlIG11ZXZlIGhhc3RhIDMgY2FzaWxsYXMgZW4gY3VhbHF1aWVyIGRpcmVjY2nDs24uJyxcbiAgICBjaGVzc2ltYWxzUnVsZUxpbWl0c1RpdGxlOiAnUmVnbGFzIGRlIGVxdWlsaWJyaW8nLFxuICAgIGNoZXNzaW1hbHNSdWxlTGltaXRzQm9keTpcbiAgICAgICdDYWRhIGNhcnRhIHNlIHVzYSB1bmEgc29sYSB2ZXogcG9yIHBhcnRpZGEuIE5pbmfDum4gcG9kZXIgcHVlZGUgZW50cmFyIGRpcmVjdGFtZW50ZSBhIGxhIMO6bHRpbWEgZmlsYTogZWwgcGFzbyBmaW5hbCBwYXJhIGdhbmFyIHNpZW1wcmUgZGViZSBzZXIgdW4gYXZhbmNlIG5vcm1hbC4nLFxuICAgIGNoZXNzaW1hbHNCb2FyZFNpemU6ICdUYW1hw7FvIGRlbCB0YWJsZXJvJyxcbiAgICBjaGVzc2ltYWxzU2l6ZVNtYWxsOiAnUsOhcGlkbyBwYXJhIGFwcmVuZGVyLicsXG4gICAgY2hlc3NpbWFsc1NpemVMYXJnZTogJ03DoXMgZXNwYWNpbyB5IG3DoXMgZXN0cmF0ZWdpYS4nLFxuICAgIGNoZXNzaW1hbHNTdGFydDogJ0VtcGV6YXIgcGFydGlkYScsXG4gICAgY2hlc3NpbWFsc09ubGluZVRpdGxlOiAnSnVnYXIgY29uIGxpbmsnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVCb2R5OiAnQ3JlYSB1bmEgcGFydGlkYSwgY29tcGFydGUgZWwgY8OzZGlnbyB5IGxhIG90cmEgcGVyc29uYSBzZSB1bmUgZGVzZGUgc3UgZGlzcG9zaXRpdm8uIFNpIHlhIGhheSBkb3MganVnYWRvcmVzLCBlbCByZXN0byBwdWVkZSBtaXJhci4nLFxuICAgIGNoZXNzaW1hbHNDcmVhdGVPbmxpbmU6ICdDcmVhciBwYXJ0aWRhIG9ubGluZScsXG4gICAgY2hlc3NpbWFsc0NyZWF0ZU9ubGluZUhpbnQ6ICdFbCBjw7NkaWdvIHNlIGdlbmVyYSBhdXRvbcOhdGljYW1lbnRlIGFsIGNyZWFyIGxhIHBhcnRpZGEuJyxcbiAgICBjaGVzc2ltYWxzSm9pbk9ubGluZVRpdGxlOiAnVW5pcnNlIGEgdW5hIHBhcnRpZGEnLFxuICAgIGNoZXNzaW1hbHNKb2luQ29kZTogJ0PDs2RpZ28gZGUgcGFydGlkYScsXG4gICAgY2hlc3NpbWFsc0pvaW5Db2RlUGxhY2Vob2xkZXI6ICdFajogQUJDRC0xMjM0JyxcbiAgICBjaGVzc2ltYWxzSm9pbk9ubGluZTogJ1VuaXJtZScsXG4gICAgY2hlc3NpbWFsc1dhaXRpbmdUaXRsZTogJ0VzcGVyYW5kbyByaXZhbCcsXG4gICAgY2hlc3NpbWFsc1dhaXRpbmdCb2R5OiAnQ29tcGFydGUgZXN0ZSBsaW5rIG8gY8OzZGlnby4gQ3VhbmRvIGVudHJlIG90cmEgcGVyc29uYSwgc2Ugc29ydGVhcsOhbiBsb3MgY29sb3JlcyB5IGVtcGV6YXLDoSBsYSBwYXJ0aWRhLicsXG4gICAgY2hlc3NpbWFsc0dhbWVDb2RlOiAnQ8OzZGlnbycsXG4gICAgY2hlc3NpbWFsc0NvcHlMaW5rOiAnQ29waWFyIGxpbmsnLFxuICAgIGNoZXNzaW1hbHNTaGFyZUxpbms6ICdDb21wYXJ0aXIgbGluaycsXG4gICAgY2hlc3NpbWFsc0xpbmtDb3BpZWQ6ICdMaW5rIGRlIGxhIHBhcnRpZGEgY29waWFkby4nLFxuICAgIGNoZXNzaW1hbHNTaGFyZVRleHQ6ICfDmm5ldGUgYSBtaSBwYXJ0aWRhIGRlIENoZXNzaW1hbHMuJyxcbiAgICBjaGVzc2ltYWxzT25saW5lV2FpdGluZzogJ0VzcGVyYW5kbycsXG4gICAgY2hlc3NpbWFsc09ubGluZVBsYXllcjogJ09ubGluZScsXG4gICAgY2hlc3NpbWFsc1NwZWN0YXRvcjogJ09ic2VydmFkb3InLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVWaWV3ZXI6ICdFc3RhIHBhcnRpZGEgeWEgdGllbmUgZG9zIGp1Z2Fkb3Jlcy4gUHVlZGVzIG1pcmFyIGPDs21vIGF2YW56YS4nLFxuICAgIGNoZXNzaW1hbHNZb3VyVHVybjogJ1R1IHR1cm5vJyxcbiAgICBjaGVzc2ltYWxzWW91clR1cm5Cb2R5OiAnVG9jYSB1bm8gZGUgdHVzIHBlb25lcyBwYXJhIHZlciBzdXMgbW92aW1pZW50b3MgeSBqdWVnYSBjdWFuZG8gZXN0w6lzIGxpc3RvLicsXG4gICAgY2hlc3NpbWFsc1dhaXRpbmdUdXJuOiAnRXNwZXJhIGEgcXVlIGp1ZWd1ZSBsYSBvdHJhIHBlcnNvbmEuJyxcbiAgICBjaGVzc2ltYWxzUmVtYXRjaDogJ1BlZGlyIHJldmFuY2hhJyxcbiAgICBjaGVzc2ltYWxzT25saW5lRXJyb3I6ICdObyBwdWRpbW9zIGFicmlyIGxhIHBhcnRpZGEuIFJldmlzYSBlbCBjw7NkaWdvIG8gaW50ZW50YSBudWV2YW1lbnRlLicsXG4gICAgY2hlc3NpbWFsc1Jlc3VtZVNwbGFzaFRpdGxlOiAnUmV0b21hbmRvIHBhcnRpZGEnLFxuICAgIGNoZXNzaW1hbHNSZXN1bWVTcGxhc2hCb2R5OiAnRXN0YW1vcyBjYXJnYW5kbyBlbCB0YWJsZXJvIHkgc2luY3Jvbml6YW5kbyBlbCB0dXJuby4nLFxuICAgIGNoZXNzaW1hbHNUdXJuOiAnVHVybm8nLFxuICAgIGNoZXNzaW1hbHNPbmVEZXZpY2U6ICdVbiBkaXNwb3NpdGl2bycsXG4gICAgY2hlc3NpbWFsc09uZURldmljZUJvZHk6ICdEb3MgcGVyc29uYXMgYWx0ZXJuYW4gdHVybm9zIGVuIGxhIG1pc21hIHBhbnRhbGxhLicsXG4gICAgY2hlc3NpbWFsc01vZGVUaXRsZTogJ01vZG8gZGUganVlZ28nLFxuICAgIGNoZXNzaW1hbHNCb3RNb2RlOiAnQ29udHJhIGJvdCcsXG4gICAgY2hlc3NpbWFsc0JvdE1vZGVCb2R5OiAnSnVlZ2EgY29uIGJsYW5jYXMgY29udHJhIENoZXNzaWJvdCBlbiBlc3RlIGRpc3Bvc2l0aXZvLicsXG4gICAgY2hlc3NpbWFsc0JvdERpZmZpY3VsdHk6ICdEaWZpY3VsdGFkIGRlbCBib3QnLFxuICAgIGNoZXNzaW1hbHNCb3RFYXN5OiAnU3VhdmUnLFxuICAgIGNoZXNzaW1hbHNCb3ROb3JtYWw6ICdOb3JtYWwnLFxuICAgIGNoZXNzaW1hbHNCb3RIYXJkOiAnTmluamEnLFxuICAgIGNoZXNzaW1hbHNCb3RUaGlua2luZ1RpdGxlOiAnQ2hlc3NpYm90IGVzdMOhIHBlbnNhbmRvJyxcbiAgICBjaGVzc2ltYWxzQm90VGhpbmtpbmdCb2R5OiAnRWwgYm90IG11ZXZlIGxhcyBuZWdyYXMuIEVzcGVyYSB1biBtb21lbnRvIHBhcmEgY29udGludWFyLicsXG4gICAgY2hlc3NpbWFsc0JvdFlvdXJUdXJuQm9keTogJ0p1ZWdhcyBjb24gYmxhbmNhcy4gVG9jYSB1bm8gZGUgdHVzIHBlb25lcyBwYXJhIHZlciBzdXMgbW92aW1pZW50b3MuJyxcbiAgICBjaGVzc2ltYWxzQ3VycmVudFR1cm46ICdKdWVnYW46IHtwbGF5ZXJ9JyxcbiAgICBjaGVzc2ltYWxzQm9hcmRGbGlwczogJ0VsIHRhYmxlcm8gc2Ugb3JpZW50YSBhdXRvbcOhdGljYW1lbnRlIHBhcmEgcXVpZW4gdGllbmUgZWwgdHVybm8uJyxcbiAgICBjaGVzc2ltYWxzUml2YWw6ICdSaXZhbCcsXG4gICAgY2hlc3NpbWFsc01vdmVzOiAnSnVnYWRhcycsXG4gICAgY2hlc3NpbWFsc1Bvd2VyczogJ1BvZGVyZXMnLFxuICAgIGNoZXNzaW1hbHNXaW5uZXI6ICdHYW5hZG9yJyxcbiAgICBjaGVzc2ltYWxzUmVzdWx0OiAnUmVzdWx0YWRvJyxcbiAgICBjaGVzc2ltYWxzQm9hcmQ6ICdUYWJsZXJvJyxcbiAgICBjaGVzc2ltYWxzV2hpdGU6ICdCbGFuY2FzJyxcbiAgICBjaGVzc2ltYWxzQmxhY2s6ICdOZWdyYXMnLFxuICAgIGNoZXNzaW1hbHNVbmxvY2tlZDogJ0xpc3RvcycsXG4gICAgY2hlc3NpbWFsc0xvY2tlZDogJ0Jsb3F1ZWFkb3MnLFxuICAgIGNoZXNzaW1hbHNTZWxlY3RQaWVjZTogJ1NlbGVjY2lvbmEgeSBtdWV2ZScsXG4gICAgY2hlc3NpbWFsc1BpY2tBbnlQaWVjZTogJ1RvY2EgdW5vIGRlIHR1cyBwZW9uZXMgcGFyYSB2ZXIgc3VzIG1vdmltaWVudG9zLicsXG4gICAgY2hlc3NpbWFsc1BpY2tUYXJnZXQ6ICdUb2NhIHVuYSBjYXNpbGxhIG1hcmNhZGEgcGFyYSBtb3ZlciBvIGNhcHR1cmEgZW4gZGlhZ29uYWwuJyxcbiAgICBjaGVzc2ltYWxzUGlja1Bvd2VyVGFyZ2V0OiAnVG9jYSB1bmEgY2FzaWxsYSBtYXJjYWRhIHBhcmEgdXNhciBsYSBjYXJ0YSBzZWxlY2Npb25hZGEuJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsQ2FyZHM6ICdDYXJ0YXMgZGUgYW5pbWFsZXMnLFxuICAgIGNoZXNzaW1hbHNDYXJkc0xvY2tlZDogJ0NydXphIGxhIGzDrW5lYSBjZW50cmFsIG8gZGVmaWVuZGUgdHUgdGVycml0b3JpbyBwYXJhIGRlc2Jsb3F1ZWFybGFzLicsXG4gICAgY2hlc3NpbWFsc0NhcmRzUmVhZHk6ICdDYWRhIGNhcnRhIHNlIHB1ZWRlIHVzYXIgdW5hIHZleiBwb3IgcGFydGlkYS4nLFxuICAgIGNoZXNzaW1hbHNSZXNpZ246ICdSZW5kaXJzZScsXG4gICAgY2hlc3NpbWFsc0NoYW5nZU1vZGU6ICdDYW1iaWFyIG1vZG8nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzdGFydFRpdGxlOiAnwr9SZWluaWNpYXIgcGFydGlkYT8nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzdGFydEJvZHk6ICdTZSBwZXJkZXLDoSBlbCBwcm9ncmVzbyBkZSBlc3RhIHBhcnRpZGEgeSB2b2x2ZXLDoSBhIGVtcGV6YXIgZGVzZGUgY2Vyby4nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtSG9tZVRpdGxlOiAnwr9DYW1iaWFyIG1vZG8/JyxcbiAgICBjaGVzc2ltYWxzQ29uZmlybUhvbWVCb2R5OiAnU2FsZHLDoXMgZGUgbGEgcGFydGlkYSBhY3R1YWwgeSB2b2x2ZXLDoXMgYWwgc2VsZWN0b3IgZGUgbWluaSBqdWVnb3MuJyxcbiAgICBjaGVzc2ltYWxzQ29uZmlybVJlc2lnblRpdGxlOiAnwr9SZW5kaXJzZT8nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzaWduQm9keTogJ0xhIHBhcnRpZGEgdGVybWluYXLDoSBhaG9yYSB5IGdhbmFyw6EgZWwgcml2YWwuJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsRWFnbGU6ICfDgWd1aWxhJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsQnVsbDogJ1Rvcm8nLFxuICAgIGNoZXNzaW1hbHNBbmltYWxLYW5nYXJvbzogJ0Nhbmd1cm8nLFxuICAgIGNoZXNzaW1hbHNBbmltYWxMaW9uOiAnTGVvbmEnLFxuICAgIGNoZXNzaW1hbHNGaW5pc2hlZENoaXA6ICdQYXJ0aWRhIHRlcm1pbmFkYScsXG4gICAgY2hlc3NpbWFsc0dhbWVPdmVyOiAnRmluIGRlIGxhIHBhcnRpZGEnLFxuICAgIGNoZXNzaW1hbHNNb3Zlc1N1bW1hcnk6ICd7bW92ZXN9IGp1Z2FkYXMnLFxuICAgIGNoZXNzaW1hbHNXaW5UaXRsZTogJ0dhbmFuIHtwbGF5ZXJ9JyxcbiAgICBjaGVzc2ltYWxzV2luUHJvbW90aW9uOiAnVW4gcGXDs24gbGxlZ8OzIGEgbGEgw7psdGltYSBmaWxhIGNvbiB1biBwYXNvIG5vcm1hbC4nLFxuICAgIGNoZXNzaW1hbHNXaW5FbGltaW5hdGlvbjogJ05vIHF1ZWRhbiBwZW9uZXMgcml2YWxlcyBlbiBlbCB0YWJsZXJvLicsXG4gICAgY2hlc3NpbWFsc1dpblJlc2lnbmF0aW9uOiAnTGEgb3RyYSBwZXJzb25hIHNlIHJldGlyw7MuJyxcbiAgICBjaGVzc2ltYWxzUmVhc29uUHJvbW90aW9uOiAnQ29yb25hY2nDs24nLFxuICAgIGNoZXNzaW1hbHNSZWFzb25FbGltaW5hdGlvbjogJ0VsaW1pbmFjacOzbicsXG4gICAgY2hlc3NpbWFsc1JlYXNvblJlc2lnbmF0aW9uOiAnUmVuZGljacOzbicsXG4gIH0sXG4gIGVuOiB7XG4gICAgbWVudVRpdGxlOiAnTWluaSBnYW1lcycsXG4gICAgbWVudVN1YnRpdGxlOiAnQSB0aW55IHNlY3JldCBjb3JuZXIgZm9yIGEgcGxheWZ1bCBicmVhay4nLFxuICAgIG1lbW9yeVRpdGxlOiAnUmV0cm8gTWVtb3J5JyxcbiAgICBtZW1vcnlEZXNjcmlwdGlvbjogJ0ZpbmQgcGFpcnMsIHRyYWluIHlvdXIgbWVtb3J5LCBhbmQgdW5sb2NrIHJldHJvIHNvdW5kcy4nLFxuICAgIHNpbW9uVGl0bGU6ICdTaW1vbicsXG4gICAgc2ltb25EZXNjcmlwdGlvbjogJ1JlcGVhdCBsb25nZXIgYW5kIGxvbmdlciBsaWdodC1hbmQtc291bmQgcGF0dGVybnMuJyxcbiAgICBjaGVzc2ltYWxzVGl0bGU6ICdDaGVzc2ltYWxzJyxcbiAgICBjaGVzc2ltYWxzRGVzY3JpcHRpb246ICdBIHBhd24gcmFjZSB3aXRoIGFuaW1hbCBjYXJkcyBhbmQgdGFjdGljYWwgcG93ZXJzLicsXG4gICAgc29vblRpdGxlOiAnQ29taW5nIHNvb24nLFxuICAgIG9wZW5HYW1lOiAnUGxheScsXG4gICAgY2xvc2U6ICdDbG9zZScsXG4gICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICBsZWFybk1vcmU6ICdMZWFybiBtb3JlJyxcbiAgICBob21lVGl0bGU6ICdSZXRybyBNZW1vcnknLFxuICAgIGhvbWVTdWJ0aXRsZTogJ0Nob29zZSBob3cgdG8gcGxheSwgZmluZCBldmVyeSBwYWlyLCBhbmQga2VlcCB5b3VyIGJlc3QgbG9jYWwgc2NvcmVzIG9uIHRoaXMgZGV2aWNlLicsXG4gICAgcHJvZmlsZVRpdGxlOiAnQ2hvb3NlIHlvdXIgYWR2ZW50dXJlJyxcbiAgICBwbGF5ZXJUaXRsZTogJ1BsYXllcicsXG4gICAgcGxheWVyU3VidGl0bGU6ICdZb3VyIG5hbWUgYW5kIGF2YXRhciBhcmUgc2F2ZWQgb25seSBvbiB0aGlzIGRldmljZS4nLFxuICAgIHBsYXllck5hbWU6ICdOYW1lJyxcbiAgICBwbGF5ZXJOYW1lUGxhY2Vob2xkZXI6ICdFLmcuIFNvZmknLFxuICAgIGRlZmF1bHRQbGF5ZXJOYW1lOiAnUGxheWVyJyxcbiAgICBhdmF0YXJUaXRsZTogJ0F2YXRhcicsXG4gICAgY29sb3JUaXRsZTogJ0NvbG9yJyxcbiAgICBhcmNhZGVQbGF5ZXJTdWJ0aXRsZTogJ1VzZWQgYWNyb3NzIGV2ZXJ5IG1pbmkgZ2FtZSBvbiB0aGlzIGRldmljZS4nLFxuICAgIHNlbGVjdFBsYXllcjogJ1NlbGVjdCBwbGF5ZXInLFxuICAgIG5ld1BsYXllcjogJ05ldyBwbGF5ZXInLFxuICAgIGxvZ2dlZFBsYXllcjogJ1Nlc3Npb24nLFxuICAgIGxvY2FsUGxheWVyOiAnTG9jYWwgcHJvZmlsZScsXG4gICAga2lkOiAnS2lkcycsXG4gICAga2lkRGVzY3JpcHRpb246ICdGZXdlciBwYWlycywgbW9yZSB0aW1lIHRvIHRhcCwgbm90aWNlLCBhbmQgZGlzY292ZXIuJyxcbiAgICBuaW5qYTogJ05pbmphJyxcbiAgICBuaW5qYURlc2NyaXB0aW9uOiAnTW9yZSBjYXJkcywgZmFzdGVyIHR1cm5zLCBhbmQgYSB0aW1lci4nLFxuICAgIGRpZmZpY3VsdHlUaXRsZTogJ0RpZmZpY3VsdHknLFxuICAgIGVhc3k6ICdFYXN5JyxcbiAgICBtZWRpdW06ICdNZWRpdW0nLFxuICAgIGhhcmQ6ICdIYXJkJyxcbiAgICBtb2RlVGl0bGU6ICdNb2RlJyxcbiAgICBjbGFzc2ljOiAnQ2xhc3NpYycsXG4gICAgY2xhc3NpY0Rlc2NyaXB0aW9uOiAnQSBiYWxhbmNlZCBnYW1lIGZvciBtZW1vcnkgcHJhY3RpY2UuJyxcbiAgICByZWxheGVkOiAnUmVsYXhlZCcsXG4gICAgdGltZWQ6ICdUaW1lZCcsXG4gICAgc291bmQ6ICdTb3VuZCcsXG4gICAgc291bmRPbjogJ1NvdW5kIG9uJyxcbiAgICBzb3VuZE9mZjogJ1NvdW5kIG9mZicsXG4gICAgc3RhcnQ6ICdQbGF5JyxcbiAgICBzdGFydEdhbWU6ICdTdGFydCBnYW1lJyxcbiAgICByZXN0YXJ0OiAnUmVzdGFydCcsXG4gICAgYmFja1RvU2V0dXA6ICdDaGFuZ2UgbW9kZScsXG4gICAgYXR0ZW1wdHM6ICdBdHRlbXB0cycsXG4gICAgcGFpcnM6ICdQYWlycycsXG4gICAgc3RyZWFrOiAnU3RyZWFrJyxcbiAgICB0aW1lOiAnVGltZScsXG4gICAgdGltZUxlZnQ6ICdMZWZ0JyxcbiAgICB3aW5UaXRsZTogJ1lvdSBkaWQgaXQhJyxcbiAgICB3aW5Cb2R5OiAnWW91IGZvdW5kIGV2ZXJ5IHBhaXIgaW4ge2F0dGVtcHRzfSBhdHRlbXB0cyDCtyB7dGltZX0gwrcgYmVzdCBzdHJlYWsge3N0cmVha30uJyxcbiAgICBsb3NlVGl0bGU6ICdUaW1lIGlzIHVwJyxcbiAgICBsb3NlQm9keTogJ1RoYXQgd2FzIGNsb3NlLiBSZXN0YXJ0IGFuZCB0cnkgYWdhaW4uJyxcbiAgICBpbnN0cnVjdGlvbnNUaXRsZTogJ0hvdyB0byBwbGF5JyxcbiAgICBpbnN0cnVjdGlvbnNCb2R5OiAnVGFwIHR3byBjYXJkcyB0byByZXZlYWwgdGhlbS4gTWF0Y2hpbmcgY2FyZHMgc3RheSBvcGVuOyBvdGhlcndpc2UsIHJlbWVtYmVyIHdoZXJlIHRoZXkgd2VyZSBhbmQgdHJ5IGFnYWluLicsXG4gICAgbGVhZGVyYm9hcmRUaXRsZTogJ0Jlc3Qgc2NvcmVzJyxcbiAgICBsZWFkZXJib2FyZFByb2ZpbGVUaXRsZTogJ0Jlc3Qgc2NvcmVzOiB7cHJvZmlsZX0nLFxuICAgIGxlYWRlcmJvYXJkRW1wdHk6ICdObyBzY29yZXMgeWV0LiBZb3VycyBjYW4gYmUgdGhlIGZpcnN0LicsXG4gICAgbGVhZGVyYm9hcmRNb3ZlczogJ3ttb3Zlc30gYXR0ZW1wdHMnLFxuICAgIGxlYWRlcmJvYXJkVGltZTogJ3t0aW1lfScsXG4gICAgcmVzdWx0U3RhdHM6ICd7YXR0ZW1wdHN9IGF0dGVtcHRzIMK3IHt0aW1lfScsXG4gICAgZ29sZDogJ0dvbGQnLFxuICAgIHNpbHZlcjogJ1NpbHZlcicsXG4gICAgYnJvbnplOiAnQnJvbnplJyxcbiAgICBzcGFyazogJ05pY2UgZ2FtZScsXG4gICAgcGxheUFnYWluOiAnUGxheSBhZ2FpbicsXG4gICAgc2ltb25Ib21lVGl0bGU6ICdTaW1vbicsXG4gICAgc2ltb25Ib21lU3VidGl0bGU6ICdXYXRjaCB0aGUgc2VxdWVuY2UsIGxpc3RlbiB0byB0aGUgdG9uZXMsIGFuZCByZXBlYXQgaXQgYnkgdGFwcGluZyB0aGUgYnV0dG9ucyBpbiB0aGUgc2FtZSBvcmRlci4nLFxuICAgIHNpbW9uSG93VG9UaXRsZTogJ0hvdyB0byBwbGF5JyxcbiAgICBzaW1vbkhvd1RvQm9keTogJ1NpbW9uIHNob3dzIGEgY29sb3Igc2VxdWVuY2UuIFdoZW4gaXQgZW5kcywgcmVwZWF0IGl0LiBFYWNoIHJvdW5kIGFkZHMgb25lIG5ldyBzdGVwLicsXG4gICAgc2ltb25Nb2RlS2lkOiAnS2lkcycsXG4gICAgc2ltb25Nb2RlS2lkRGVzY3JpcHRpb246ICdTbG93ZXIgYW5kIGdlbnRsZXIgZm9yIHJlbGF4ZWQgdGFwcGluZy4nLFxuICAgIHNpbW9uTW9kZUNsYXNzaWM6ICdDbGFzc2ljJyxcbiAgICBzaW1vbk1vZGVDbGFzc2ljRGVzY3JpcHRpb246ICdCYWxhbmNlZCBwYWNlIGZvciBtZW1vcnkgcHJhY3RpY2UuJyxcbiAgICBzaW1vbk1vZGVOaW5qYTogJ05pbmphJyxcbiAgICBzaW1vbk1vZGVOaW5qYURlc2NyaXB0aW9uOiAnRmFzdGVyIHdpdGggc2hvcnRlciBwYXVzZXMgYmV0d2VlbiBjb2xvcnMuJyxcbiAgICBzaW1vblN0YXJ0OiAnU3RhcnQnLFxuICAgIHNpbW9uV2F0Y2g6ICdXYXRjaCcsXG4gICAgc2ltb25SZXBlYXQ6ICdZb3VyIHR1cm4nLFxuICAgIHNpbW9uR29vZDogJ05pY2UhJyxcbiAgICBzaW1vbkZhaWxlZDogJ09vcHMsIHRoZSBzZXF1ZW5jZSBicm9rZScsXG4gICAgc2ltb25GYWlsZWRCb2R5OiAnWW91IHJlYWNoZWQgcm91bmQge3JvdW5kfS4gVHJ5IGFnYWluIG9yIGNoYW5nZSBtb2RlLicsXG4gICAgc2ltb25Sb3VuZDogJ1JvdW5kJyxcbiAgICBzaW1vbkJlc3RSb3VuZDogJ0Jlc3QnLFxuICAgIHNpbW9uU3RlcHM6ICdTdGVwcycsXG4gICAgc2ltb25MZWFkZXJib2FyZFRpdGxlOiAnQmVzdCByb3VuZHMnLFxuICAgIHNpbW9uTGVhZGVyYm9hcmRNb2RlVGl0bGU6ICdCZXN0IHJvdW5kczoge21vZGV9JyxcbiAgICBzaW1vbkxlYWRlcmJvYXJkRW1wdHk6ICdObyByb3VuZHMgc2F2ZWQgeWV0LiBZb3VycyBjYW4gYmUgZmlyc3QuJyxcbiAgICBzaW1vblNjb3JlOiAnUm91bmQge3JvdW5kfSDCtyB7c3RlcHN9IHN0ZXBzJyxcbiAgICBjaGVzc2ltYWxzU3VidGl0bGU6ICdQbGF5IG9uIHRoZSBzYW1lIGRldmljZSwgYWx0ZXJuYXRpbmcgdHVybnMsIHVudGlsIGEgcGF3biBwcm9tb3RlcyBvciB0aGUgcml2YWwgaXMgZWxpbWluYXRlZC4nLFxuICAgIGNoZXNzaW1hbHNIb3dUb1RpdGxlOiAnSG93IHRvIHBsYXknLFxuICAgIGNoZXNzaW1hbHNIb3dUb0JvZHk6XG4gICAgICAnRWFjaCBwYXduIG1vdmVzIG9uZSBzcXVhcmUgZm9yd2FyZCBhbmQgY2FwdHVyZXMgZGlhZ29uYWxseS4gQ3Jvc3NpbmcgdGhlIGNlbnRlciwgb3IgZGVmZW5kaW5nIGFnYWluc3QgYW4gaW52YWRpbmcgcml2YWwgcGF3biwgdW5sb2NrcyBmb3VyIG9uZS11c2UgcG93ZXJzLicsXG4gICAgY2hlc3NpbWFsc1J1bGVzVGl0bGU6ICdDaGVzc2ltYWxzIHJ1bGVzJyxcbiAgICBjaGVzc2ltYWxzUnVsZXNTdWJ0aXRsZTogJ0EgcXVpY2sgZ3VpZGUgdG8gdHVybnMsIGNhcHR1cmVzLCBhbmQgcG93ZXJzLicsXG4gICAgY2hlc3NpbWFsc1J1bGVHb2FsVGl0bGU6ICdHb2FsJyxcbiAgICBjaGVzc2ltYWxzUnVsZUdvYWxCb2R5OlxuICAgICAgJ1dpbiBieSBtb3Zpbmcgb25lIHBhd24gdG8gdGhlIHJpdmFsIGJhY2sgcm93IHdpdGggYSBub3JtYWwgc3RlcCwgb3IgYnkgY2FwdHVyaW5nIGV2ZXJ5IG9wcG9zaW5nIHBhd24uJyxcbiAgICBjaGVzc2ltYWxzUnVsZU1vdmVUaXRsZTogJ0Jhc2ljIG1vdmVtZW50JyxcbiAgICBjaGVzc2ltYWxzUnVsZU1vdmVCb2R5OlxuICAgICAgJ09uIHlvdXIgdHVybiwgdGFwIG9uZSBvZiB5b3VyIHBhd25zLiBJdCBjYW4gbW92ZSBvbmUgc3F1YXJlIGZvcndhcmQgaWYgdGhlIHNxdWFyZSBpcyBmcmVlLCBvciBjYXB0dXJlIGEgcml2YWwgcGllY2UgZGlhZ29uYWxseS4nLFxuICAgIGNoZXNzaW1hbHNSdWxlUG93ZXJzVGl0bGU6ICdXaGVuIHBvd2VycyB1bmxvY2snLFxuICAgIGNoZXNzaW1hbHNSdWxlUG93ZXJzQm9keTpcbiAgICAgICdZb3VyIGNhcmRzIHVubG9jayB3aGVuIG9uZSBvZiB5b3VyIHBhd25zIGNyb3NzZXMgdGhlIGNlbnRlciBsaW5lLCBvciB3aGVuIGEgcml2YWwgcGF3biBlbnRlcnMgeW91ciBoYWxmIG9mIHRoZSBib2FyZC4nLFxuICAgIGNoZXNzaW1hbHNSdWxlQ2FyZHNUaXRsZTogJ0FuaW1hbCBjYXJkcycsXG4gICAgY2hlc3NpbWFsc1J1bGVFYWdsZTogJ0VhZ2xlOiBtb3ZlcyB1cCB0byAzIHNxdWFyZXMgZGlhZ29uYWxseSwgZm9yd2FyZCBvciBiYWNrd2FyZC4nLFxuICAgIGNoZXNzaW1hbHNSdWxlQnVsbDogJ0J1bGw6IG1vdmVzIHVwIHRvIDMgc3F1YXJlcyBpbiBhIHN0cmFpZ2h0IGxpbmUsIGluY2x1ZGluZyBzaWRld2F5cy4nLFxuICAgIGNoZXNzaW1hbHNSdWxlS2FuZ2Fyb286ICdLYW5nYXJvbzoganVtcHMgaW4gYW4gTCBzaGFwZSwgbGlrZSBhIGNoZXNzIGtuaWdodC4gSXQgY2FuIGp1bXAgb3ZlciBwaWVjZXMgYW5kIGxhbmQgb24gYW4gZW1wdHkgc3F1YXJlIG9yIGNhcHR1cmUgYSByaXZhbCBwaWVjZS4nLFxuICAgIGNoZXNzaW1hbHNSdWxlTGlvbjogJ0xpb25lc3M6IG1vdmVzIHVwIHRvIDMgc3F1YXJlcyBpbiBhbnkgZGlyZWN0aW9uLicsXG4gICAgY2hlc3NpbWFsc1J1bGVMaW1pdHNUaXRsZTogJ0JhbGFuY2UgcnVsZXMnLFxuICAgIGNoZXNzaW1hbHNSdWxlTGltaXRzQm9keTpcbiAgICAgICdFYWNoIGNhcmQgY2FuIGJlIHVzZWQgb25jZSBwZXIgZ2FtZS4gTm8gcG93ZXIgY2FuIGxhbmQgZGlyZWN0bHkgb24gdGhlIGZpbmFsIHJvdzogdGhlIHdpbm5pbmcgc3RlcCBtdXN0IGFsd2F5cyBiZSBhIG5vcm1hbCBmb3J3YXJkIG1vdmUuJyxcbiAgICBjaGVzc2ltYWxzQm9hcmRTaXplOiAnQm9hcmQgc2l6ZScsXG4gICAgY2hlc3NpbWFsc1NpemVTbWFsbDogJ1F1aWNrIHRvIGxlYXJuLicsXG4gICAgY2hlc3NpbWFsc1NpemVMYXJnZTogJ01vcmUgcm9vbSBhbmQgbW9yZSBzdHJhdGVneS4nLFxuICAgIGNoZXNzaW1hbHNTdGFydDogJ1N0YXJ0IGdhbWUnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVUaXRsZTogJ1BsYXkgd2l0aCBhIGxpbmsnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVCb2R5OiAnQ3JlYXRlIGEgZ2FtZSwgc2hhcmUgdGhlIGNvZGUsIGFuZCBhbm90aGVyIHBsYXllciBqb2lucyBmcm9tIHRoZWlyIGRldmljZS4gSWYgdHdvIHBsYXllcnMgYWxyZWFkeSBqb2luZWQsIGV2ZXJ5b25lIGVsc2UgY2FuIHdhdGNoLicsXG4gICAgY2hlc3NpbWFsc0NyZWF0ZU9ubGluZTogJ0NyZWF0ZSBvbmxpbmUgZ2FtZScsXG4gICAgY2hlc3NpbWFsc0NyZWF0ZU9ubGluZUhpbnQ6ICdUaGUgY29kZSBpcyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSB3aGVuIHlvdSBjcmVhdGUgdGhlIGdhbWUuJyxcbiAgICBjaGVzc2ltYWxzSm9pbk9ubGluZVRpdGxlOiAnSm9pbiBhIGdhbWUnLFxuICAgIGNoZXNzaW1hbHNKb2luQ29kZTogJ0dhbWUgY29kZScsXG4gICAgY2hlc3NpbWFsc0pvaW5Db2RlUGxhY2Vob2xkZXI6ICdFLmcuIEFCQ0QtMTIzNCcsXG4gICAgY2hlc3NpbWFsc0pvaW5PbmxpbmU6ICdKb2luJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ1RpdGxlOiAnV2FpdGluZyBmb3Igcml2YWwnLFxuICAgIGNoZXNzaW1hbHNXYWl0aW5nQm9keTogJ1NoYXJlIHRoaXMgbGluayBvciBjb2RlLiBXaGVuIGFub3RoZXIgcGxheWVyIGpvaW5zLCBjb2xvcnMgYXJlIHJhbmRvbWx5IGFzc2lnbmVkIGFuZCB0aGUgZ2FtZSBzdGFydHMuJyxcbiAgICBjaGVzc2ltYWxzR2FtZUNvZGU6ICdDb2RlJyxcbiAgICBjaGVzc2ltYWxzQ29weUxpbms6ICdDb3B5IGxpbmsnLFxuICAgIGNoZXNzaW1hbHNTaGFyZUxpbms6ICdTaGFyZSBsaW5rJyxcbiAgICBjaGVzc2ltYWxzTGlua0NvcGllZDogJ0dhbWUgbGluayBjb3BpZWQuJyxcbiAgICBjaGVzc2ltYWxzU2hhcmVUZXh0OiAnSm9pbiBteSBDaGVzc2ltYWxzIGdhbWUuJyxcbiAgICBjaGVzc2ltYWxzT25saW5lV2FpdGluZzogJ1dhaXRpbmcnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVQbGF5ZXI6ICdPbmxpbmUnLFxuICAgIGNoZXNzaW1hbHNTcGVjdGF0b3I6ICdTcGVjdGF0b3InLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVWaWV3ZXI6ICdUaGlzIGdhbWUgYWxyZWFkeSBoYXMgdHdvIHBsYXllcnMuIFlvdSBjYW4gd2F0Y2ggaXQgcGxheSBvdXQuJyxcbiAgICBjaGVzc2ltYWxzWW91clR1cm46ICdZb3VyIHR1cm4nLFxuICAgIGNoZXNzaW1hbHNZb3VyVHVybkJvZHk6ICdUYXAgb25lIG9mIHlvdXIgcGF3bnMgdG8gc2VlIGl0cyBtb3ZlcyBhbmQgcGxheSB3aGVuIHlvdSBhcmUgcmVhZHkuJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ1R1cm46ICdXYWl0IGZvciB0aGUgb3RoZXIgcGxheWVyIHRvIG1vdmUuJyxcbiAgICBjaGVzc2ltYWxzUmVtYXRjaDogJ1JlcXVlc3QgcmVtYXRjaCcsXG4gICAgY2hlc3NpbWFsc09ubGluZUVycm9yOiAnV2UgY291bGQgbm90IG9wZW4gdGhpcyBnYW1lLiBDaGVjayB0aGUgY29kZSBvciB0cnkgYWdhaW4uJyxcbiAgICBjaGVzc2ltYWxzUmVzdW1lU3BsYXNoVGl0bGU6ICdSZXN1bWluZyBnYW1lJyxcbiAgICBjaGVzc2ltYWxzUmVzdW1lU3BsYXNoQm9keTogJ0xvYWRpbmcgdGhlIGJvYXJkIGFuZCBzeW5jaW5nIHRoZSB0dXJuLicsXG4gICAgY2hlc3NpbWFsc1R1cm46ICdUdXJuJyxcbiAgICBjaGVzc2ltYWxzT25lRGV2aWNlOiAnT25lIGRldmljZScsXG4gICAgY2hlc3NpbWFsc09uZURldmljZUJvZHk6ICdUd28gcGVvcGxlIGFsdGVybmF0ZSB0dXJucyBvbiB0aGUgc2FtZSBzY3JlZW4uJyxcbiAgICBjaGVzc2ltYWxzTW9kZVRpdGxlOiAnR2FtZSBtb2RlJyxcbiAgICBjaGVzc2ltYWxzQm90TW9kZTogJ0FnYWluc3QgYm90JyxcbiAgICBjaGVzc2ltYWxzQm90TW9kZUJvZHk6ICdQbGF5IHdoaXRlIGFnYWluc3QgQ2hlc3NpYm90IG9uIHRoaXMgZGV2aWNlLicsXG4gICAgY2hlc3NpbWFsc0JvdERpZmZpY3VsdHk6ICdCb3QgZGlmZmljdWx0eScsXG4gICAgY2hlc3NpbWFsc0JvdEVhc3k6ICdHZW50bGUnLFxuICAgIGNoZXNzaW1hbHNCb3ROb3JtYWw6ICdOb3JtYWwnLFxuICAgIGNoZXNzaW1hbHNCb3RIYXJkOiAnTmluamEnLFxuICAgIGNoZXNzaW1hbHNCb3RUaGlua2luZ1RpdGxlOiAnQ2hlc3NpYm90IGlzIHRoaW5raW5nJyxcbiAgICBjaGVzc2ltYWxzQm90VGhpbmtpbmdCb2R5OiAnVGhlIGJvdCBpcyBtb3ZpbmcgYmxhY2suIFdhaXQgYSBtb21lbnQgdG8gY29udGludWUuJyxcbiAgICBjaGVzc2ltYWxzQm90WW91clR1cm5Cb2R5OiAnWW91IHBsYXkgd2hpdGUuIFRhcCBvbmUgb2YgeW91ciBwYXducyB0byBzZWUgaXRzIG1vdmVzLicsXG4gICAgY2hlc3NpbWFsc0N1cnJlbnRUdXJuOiAne3BsYXllcn0gdG8gbW92ZScsXG4gICAgY2hlc3NpbWFsc0JvYXJkRmxpcHM6ICdUaGUgYm9hcmQgYXV0b21hdGljYWxseSBmYWNlcyB0aGUgcGxheWVyIHdob3NlIHR1cm4gaXQgaXMuJyxcbiAgICBjaGVzc2ltYWxzUml2YWw6ICdSaXZhbCcsXG4gICAgY2hlc3NpbWFsc01vdmVzOiAnTW92ZXMnLFxuICAgIGNoZXNzaW1hbHNQb3dlcnM6ICdQb3dlcnMnLFxuICAgIGNoZXNzaW1hbHNXaW5uZXI6ICdXaW5uZXInLFxuICAgIGNoZXNzaW1hbHNSZXN1bHQ6ICdSZXN1bHQnLFxuICAgIGNoZXNzaW1hbHNCb2FyZDogJ0JvYXJkJyxcbiAgICBjaGVzc2ltYWxzV2hpdGU6ICdXaGl0ZScsXG4gICAgY2hlc3NpbWFsc0JsYWNrOiAnQmxhY2snLFxuICAgIGNoZXNzaW1hbHNVbmxvY2tlZDogJ1JlYWR5JyxcbiAgICBjaGVzc2ltYWxzTG9ja2VkOiAnTG9ja2VkJyxcbiAgICBjaGVzc2ltYWxzU2VsZWN0UGllY2U6ICdTZWxlY3QgYW5kIG1vdmUnLFxuICAgIGNoZXNzaW1hbHNQaWNrQW55UGllY2U6ICdUYXAgb25lIG9mIHlvdXIgcGF3bnMgdG8gc2VlIGl0cyBtb3Zlcy4nLFxuICAgIGNoZXNzaW1hbHNQaWNrVGFyZ2V0OiAnVGFwIGEgbWFya2VkIHNxdWFyZSB0byBtb3ZlLCBvciBjYXB0dXJlIGRpYWdvbmFsbHkuJyxcbiAgICBjaGVzc2ltYWxzUGlja1Bvd2VyVGFyZ2V0OiAnVGFwIGEgbWFya2VkIHNxdWFyZSB0byB1c2UgdGhlIHNlbGVjdGVkIGNhcmQuJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsQ2FyZHM6ICdBbmltYWwgY2FyZHMnLFxuICAgIGNoZXNzaW1hbHNDYXJkc0xvY2tlZDogJ0Nyb3NzIHRoZSBjZW50ZXIgbGluZSBvciBkZWZlbmQgeW91ciB0ZXJyaXRvcnkgdG8gdW5sb2NrIHRoZW0uJyxcbiAgICBjaGVzc2ltYWxzQ2FyZHNSZWFkeTogJ0VhY2ggY2FyZCBjYW4gYmUgdXNlZCBvbmNlIHBlciBnYW1lLicsXG4gICAgY2hlc3NpbWFsc1Jlc2lnbjogJ1Jlc2lnbicsXG4gICAgY2hlc3NpbWFsc0NoYW5nZU1vZGU6ICdDaGFuZ2UgbW9kZScsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1SZXN0YXJ0VGl0bGU6ICdSZXN0YXJ0IGdhbWU/JyxcbiAgICBjaGVzc2ltYWxzQ29uZmlybVJlc3RhcnRCb2R5OiAnVGhpcyBnYW1lIHByb2dyZXNzIHdpbGwgYmUgbG9zdCBhbmQgdGhlIGJvYXJkIHdpbGwgc3RhcnQgb3Zlci4nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtSG9tZVRpdGxlOiAnQ2hhbmdlIG1vZGU/JyxcbiAgICBjaGVzc2ltYWxzQ29uZmlybUhvbWVCb2R5OiAnWW91IHdpbGwgbGVhdmUgdGhlIGN1cnJlbnQgZ2FtZSBhbmQgcmV0dXJuIHRvIHRoZSBtaW5pIGdhbWVzIHNlbGVjdG9yLicsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1SZXNpZ25UaXRsZTogJ1Jlc2lnbj8nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzaWduQm9keTogJ1RoZSBnYW1lIHdpbGwgZW5kIG5vdyBhbmQgdGhlIHJpdmFsIHBsYXllciB3aWxsIHdpbi4nLFxuICAgIGNoZXNzaW1hbHNBbmltYWxFYWdsZTogJ0VhZ2xlJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsQnVsbDogJ0J1bGwnLFxuICAgIGNoZXNzaW1hbHNBbmltYWxLYW5nYXJvbzogJ0thbmdhcm9vJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsTGlvbjogJ0xpb25lc3MnLFxuICAgIGNoZXNzaW1hbHNGaW5pc2hlZENoaXA6ICdHYW1lIGZpbmlzaGVkJyxcbiAgICBjaGVzc2ltYWxzR2FtZU92ZXI6ICdHYW1lIG92ZXInLFxuICAgIGNoZXNzaW1hbHNNb3Zlc1N1bW1hcnk6ICd7bW92ZXN9IG1vdmVzJyxcbiAgICBjaGVzc2ltYWxzV2luVGl0bGU6ICd7cGxheWVyfSB3aW4nLFxuICAgIGNoZXNzaW1hbHNXaW5Qcm9tb3Rpb246ICdBIHBhd24gcmVhY2hlZCB0aGUgZmluYWwgcm93IHdpdGggYSBub3JtYWwgc3RlcC4nLFxuICAgIGNoZXNzaW1hbHNXaW5FbGltaW5hdGlvbjogJ05vIHJpdmFsIHBhd25zIHJlbWFpbiBvbiB0aGUgYm9hcmQuJyxcbiAgICBjaGVzc2ltYWxzV2luUmVzaWduYXRpb246ICdUaGUgb3RoZXIgcGxheWVyIHJlc2lnbmVkLicsXG4gICAgY2hlc3NpbWFsc1JlYXNvblByb21vdGlvbjogJ1Byb21vdGlvbicsXG4gICAgY2hlc3NpbWFsc1JlYXNvbkVsaW1pbmF0aW9uOiAnRWxpbWluYXRpb24nLFxuICAgIGNoZXNzaW1hbHNSZWFzb25SZXNpZ25hdGlvbjogJ1Jlc2lnbmF0aW9uJyxcbiAgfSxcbn07XG4iXX0=
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '4.0.371';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4zNzEnO1xuIl19
5
+ export const VERSION = '4.0.373';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4zNzMnO1xuIl19
@@ -58,7 +58,7 @@ import fixWebmDuration from 'fix-webm-duration';
58
58
  * Current version of valtech-components.
59
59
  * This is automatically updated during the publish process.
60
60
  */
61
- const VERSION = '4.0.371';
61
+ const VERSION = '4.0.373';
62
62
 
63
63
  // Control de estado de refresco (singleton a nivel de módulo)
64
64
  let isRefreshing = false;
@@ -61192,10 +61192,14 @@ function getPowerMoves(state, piece, animal) {
61192
61192
  function getKangarooMoves(state, piece) {
61193
61193
  const moves = [];
61194
61194
  const jumps = [
61195
- { row: -2, col: 0 },
61196
- { row: 0, col: 2 },
61197
- { row: 2, col: 0 },
61198
- { row: 0, col: -2 },
61195
+ { row: -2, col: -1 },
61196
+ { row: -2, col: 1 },
61197
+ { row: -1, col: -2 },
61198
+ { row: -1, col: 2 },
61199
+ { row: 1, col: -2 },
61200
+ { row: 1, col: 2 },
61201
+ { row: 2, col: -1 },
61202
+ { row: 2, col: 1 },
61199
61203
  ];
61200
61204
  for (const jump of jumps) {
61201
61205
  const target = {
@@ -61945,7 +61949,7 @@ const MINI_GAMES_I18N = {
61945
61949
  chessimalsRuleCardsTitle: 'Cartas de animales',
61946
61950
  chessimalsRuleEagle: 'Águila: se mueve hasta 3 casillas en diagonal, hacia adelante o atrás.',
61947
61951
  chessimalsRuleBull: 'Toro: se mueve hasta 3 casillas en línea recta, incluso hacia los lados.',
61948
- chessimalsRuleKangaroo: 'Canguro: salta dos casillas en línea recta, sin necesitar una pieza al medio. Puede caer libre o capturar una pieza rival.',
61952
+ chessimalsRuleKangaroo: 'Canguro: salta en L, como el caballo del ajedrez. Puede saltar por encima de piezas y caer libre o capturar una pieza rival.',
61949
61953
  chessimalsRuleLion: 'Leona: se mueve hasta 3 casillas en cualquier dirección.',
61950
61954
  chessimalsRuleLimitsTitle: 'Reglas de equilibrio',
61951
61955
  chessimalsRuleLimitsBody: 'Cada carta se usa una sola vez por partida. Ningún poder puede entrar directamente a la última fila: el paso final para ganar siempre debe ser un avance normal.',
@@ -62012,10 +62016,10 @@ const MINI_GAMES_I18N = {
62012
62016
  chessimalsCardsLocked: 'Cruza la línea central o defiende tu territorio para desbloquearlas.',
62013
62017
  chessimalsCardsReady: 'Cada carta se puede usar una vez por partida.',
62014
62018
  chessimalsResign: 'Rendirse',
62015
- chessimalsChangeMode: 'Cambiar juego',
62019
+ chessimalsChangeMode: 'Cambiar modo',
62016
62020
  chessimalsConfirmRestartTitle: '¿Reiniciar partida?',
62017
62021
  chessimalsConfirmRestartBody: 'Se perderá el progreso de esta partida y volverá a empezar desde cero.',
62018
- chessimalsConfirmHomeTitle: '¿Cambiar juego?',
62022
+ chessimalsConfirmHomeTitle: '¿Cambiar modo?',
62019
62023
  chessimalsConfirmHomeBody: 'Saldrás de la partida actual y volverás al selector de mini juegos.',
62020
62024
  chessimalsConfirmResignTitle: '¿Rendirse?',
62021
62025
  chessimalsConfirmResignBody: 'La partida terminará ahora y ganará el rival.',
@@ -62142,7 +62146,7 @@ const MINI_GAMES_I18N = {
62142
62146
  chessimalsRuleCardsTitle: 'Animal cards',
62143
62147
  chessimalsRuleEagle: 'Eagle: moves up to 3 squares diagonally, forward or backward.',
62144
62148
  chessimalsRuleBull: 'Bull: moves up to 3 squares in a straight line, including sideways.',
62145
- chessimalsRuleKangaroo: 'Kangaroo: jumps two squares in a straight line, without needing a piece in between. It can land on an empty square or capture a rival piece.',
62149
+ chessimalsRuleKangaroo: 'Kangaroo: jumps in an L shape, like a chess knight. It can jump over pieces and land on an empty square or capture a rival piece.',
62146
62150
  chessimalsRuleLion: 'Lioness: moves up to 3 squares in any direction.',
62147
62151
  chessimalsRuleLimitsTitle: 'Balance rules',
62148
62152
  chessimalsRuleLimitsBody: 'Each card can be used once per game. No power can land directly on the final row: the winning step must always be a normal forward move.',
@@ -62209,10 +62213,10 @@ const MINI_GAMES_I18N = {
62209
62213
  chessimalsCardsLocked: 'Cross the center line or defend your territory to unlock them.',
62210
62214
  chessimalsCardsReady: 'Each card can be used once per game.',
62211
62215
  chessimalsResign: 'Resign',
62212
- chessimalsChangeMode: 'Change game',
62216
+ chessimalsChangeMode: 'Change mode',
62213
62217
  chessimalsConfirmRestartTitle: 'Restart game?',
62214
62218
  chessimalsConfirmRestartBody: 'This game progress will be lost and the board will start over.',
62215
- chessimalsConfirmHomeTitle: 'Change game?',
62219
+ chessimalsConfirmHomeTitle: 'Change mode?',
62216
62220
  chessimalsConfirmHomeBody: 'You will leave the current game and return to the mini games selector.',
62217
62221
  chessimalsConfirmResignTitle: 'Resign?',
62218
62222
  chessimalsConfirmResignBody: 'The game will end now and the rival player will win.',