valtech-components 4.0.372 → 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.',
@@ -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.',
@@ -394,4 +394,4 @@ export const MINI_GAMES_I18N = {
394
394
  chessimalsReasonResignation: 'Resignation',
395
395
  },
396
396
  };
397
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1nYW1lcy5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9taW5pLWdhbWVzL21pbmktZ2FtZXMuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQXFCO0lBQy9DLEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLFlBQVksRUFBRSx5Q0FBeUM7UUFDdkQsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixpQkFBaUIsRUFBRSxpRUFBaUU7UUFDcEYsVUFBVSxFQUFFLE9BQU87UUFDbkIsZ0JBQWdCLEVBQUUsNkNBQTZDO1FBQy9ELGVBQWUsRUFBRSxZQUFZO1FBQzdCLHFCQUFxQixFQUFFLGtFQUFrRTtRQUN6RixTQUFTLEVBQUUsY0FBYztRQUN6QixRQUFRLEVBQUUsT0FBTztRQUNqQixLQUFLLEVBQUUsUUFBUTtRQUNmLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsWUFBWSxFQUFFLDhGQUE4RjtRQUM1RyxZQUFZLEVBQUUsbUJBQW1CO1FBQ2pDLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGNBQWMsRUFBRSx5REFBeUQ7UUFDekUsVUFBVSxFQUFFLFFBQVE7UUFDcEIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxpQkFBaUIsRUFBRSxTQUFTO1FBQzVCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLG9CQUFvQixFQUFFLHNEQUFzRDtRQUM1RSxZQUFZLEVBQUUscUJBQXFCO1FBQ25DLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFlBQVksRUFBRSxRQUFRO1FBQ3RCLFdBQVcsRUFBRSxjQUFjO1FBQzNCLEdBQUcsRUFBRSxRQUFRO1FBQ2IsY0FBYyxFQUFFLHdEQUF3RDtRQUN4RSxLQUFLLEVBQUUs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QW9CLEVBQUUsU0FBUztRQUMvQixzQkFBc0IsRUFBRSxlQUFlO1FBQ3ZDLGtCQUFrQixFQUFFLFdBQVc7UUFDL0Isc0JBQXNCLEVBQUUsZUFBZTtRQUN2QyxrQkFBa0IsRUFBRSxjQUFjO1FBQ2xDLHNCQUFzQixFQUFFLGtEQUFrRDtRQUMxRSx3QkFBd0IsRUFBRSxxQ0FBcUM7UUFDL0Qsd0JBQXdCLEVBQUUsNEJBQTRCO1FBQ3RELHlCQUF5QixFQUFFLFdBQVc7UUFDdEMsMkJBQTJCLEVBQUUsYUFBYTtRQUMxQywyQkFBMkIsRUFBRSxhQUFhO0tBQzNDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IE1JTklfR0FNRVNfSTE4TjogTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgZXM6IHtcbiAgICBtZW51VGl0bGU6ICdNaW5pIGp1ZWdvcycsXG4gICAgbWVudVN1YnRpdGxlOiAnVW4gcmluY8OzbiBzZWNyZXRvIHBhcmEganVnYXIgdW4gcmF0aXRvLicsXG4gICAgbWVtb3J5VGl0bGU6ICdNZW1vcmljZSBSZXRybycsXG4gICAgbWVtb3J5RGVzY3JpcHRpb246ICdFbmN1ZW50cmEgcGFyZXMsIGVudHJlbmEgbGEgbWVtb3JpYSB5IGRlc2Jsb3F1ZWEgc29uaWRvcyByZXRyby4nLFxuICAgIHNpbW9uVGl0bGU6ICdTaW3Ds24nLFxuICAgIHNpbW9uRGVzY3JpcHRpb246ICdSZXBpdGUgbHVjZXMgeSBzb25pZG9zIGNhZGEgdmV6IG3DoXMgbGFyZ29zLicsXG4gICAgY2hlc3NpbWFsc1RpdGxlOiAnQ2hlc3NpbWFscycsXG4gICAgY2hlc3NpbWFsc0Rlc2NyaXB0aW9uOiAnVW5hIGNhcnJlcmEgZGUgcGVvbmVzIGNvbiBjYXJ0YXMgZGUgYW5pbWFsZXMgeSBwb2RlcmVzIHTDoWN0aWNvcy4nLFxuICAgIHNvb25UaXRsZTogJ1Byw7N4aW1hbWVudGUnLFxuICAgIG9wZW5HYW1lOiAnSnVnYXInLFxuICAgIGNsb3NlOiAnQ2VycmFyJyxcbiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgbGVhcm5Nb3JlOiAnQXByZW5kZXIgbcOhcycsXG4gICAgaG9tZVRpdGxlOiAnTWVtb3JpY2UgUmV0cm8nLFxuICAgIGhvbWVTdWJ0aXRsZTogJ0VsaWdlIGPDs21vIGp1Z2FyLCBlbmN1ZW50cmEgdG9kb3MgbG9zIHBhcmVzIHkgZ3VhcmRhIHR1cyBtZWpvcmVzIG1hcmNhcyBlbiBlc3RlIGRpc3Bvc2l0aXZvLicsXG4gICAgcHJvZmlsZVRpdGxlOiAnRWxpZ2UgdHUgYXZlbnR1cmEnLFxuICAgIHBsYXllclRpdGxlOiAnSnVnYWRvcicsXG4gICAgcGxheWVyU3VidGl0bGU6ICdUdSBub21icmUgeSBhdmF0YXIgc2UgZ3VhcmRhbiBzb2xvIGVuIGVzdGUgZGlzcG9zaXRpdm8uJyxcbiAgICBwbGF5ZXJOYW1lOiAnTm9tYnJlJyxcbiAgICBwbGF5ZXJOYW1lUGxhY2Vob2xkZXI6ICdFajogU29maScsXG4gICAgZGVmYXVsdFBsYXllck5hbWU6ICdKdWdhZG9yJyxcbiAgICBhdmF0YXJUaXRsZTogJ0F2YXRhcicsXG4gICAgY29sb3JUaXRsZTogJ0NvbG9yJyxcbiAgICBhcmNhZGVQbGF5ZXJTdWJ0aXRsZTogJ1NlIHVzYSBlbiB0b2RvcyBsb3MgbWluaSBqdWVnb3MgZGUgZXN0ZSBkaXNwb3NpdGl2by4nLFxuICAgIHNlbGVjdFBsYXllcjogJ1NlbGVjY2lvbmFyIGp1Z2Fkb3InLFxuICAgIG5ld1BsYXllcjogJ051ZXZvIGp1Z2Fkb3InLFxuICAgIGxvZ2dlZFBsYXllcjogJ1Nlc2nDs24nLFxuICAgIGxvY2FsUGxheWVyOiAnUGVyZmlsIGxvY2FsJyxcbiAgICBraWQ6ICdQZXF1ZXMnLFxuICAgIGtpZERlc2NyaXB0aW9uOiAnUG9jb3MgcGFyZXMsIG3DoXMgdGllbXBvIHBhcmEgdG9jYXIsIG1pcmFyIHkgZGVzY3VicmlyLicsXG4gICAgbmluamE6ICdOaW5qYScsXG4gICAgbmluamFEZXNjcmlwdGlvbjogJ03DoXMgY2FydGFzLCBtZW5vcyBlc3BlcmEgeSBjb250cmFycmVsb2ouJyxcbiAgICBkaWZmaWN1bHR5VGl0bGU6ICdEaWZpY3VsdGFkJyxcbiAgICBlYXN5OiAnRsOhY2lsJyxcbiAgICBtZWRpdW06ICdNZWRpbycsXG4gICAgaGFyZDogJ0RpZsOtY2lsJyxcbiAgICBtb2RlVGl0bGU6ICdNb2RvJyxcbiAgICBjbGFzc2ljOiAnQ2zDoXNpY28nLFxuICAgIGNsYXNzaWNEZXNjcmlwdGlvbjogJ1VuYSBwYXJ0aWRhIGVxdWlsaWJyYWRhIHBhcmEgcHJhY3RpY2FyIG1lbW9yaWEuJyxcbiAgICByZWxheGVkOiAnUmVsYWphZG8nLFxuICAgIHRpbWVkOiAnQ29udHJhcnJlbG9qJyxcbiAgICBzb3VuZDogJ1NvbmlkbycsXG4gICAgc291bmRPbjogJ1NvbmlkbyBhY3RpdmFkbycsXG4gICAgc291bmRPZmY6ICdTb25pZG8gZGVzYWN0aXZhZG8nLFxuICAgIHN0YXJ0OiAnSnVnYXInLFxuICAgIHN0YXJ0R2FtZTogJ0VtcGV6YXIgcGFydGlkYScsXG4gICAgcmVzdGFydDogJ1JlaW5pY2lhcicsXG4gICAgYmFja1RvU2V0dXA6ICdDYW1iaWFyIG1vZG8nLFxuICAgIGF0dGVtcHRzOiAnSW50ZW50b3MnLFxuICAgIHBhaXJzOiAnUGFyZXMnLFxuICAgIHN0cmVhazogJ1JhY2hhJyxcbiAgICB0aW1lOiAnVGllbXBvJyxcbiAgICB0aW1lTGVmdDogJ1F1ZWRhJyxcbiAgICB3aW5UaXRsZTogJ8KhTG8gbG9ncmFzdGUhJyxcbiAgICB3aW5Cb2R5OiAnRW5jb250cmFzdGUgdG9kb3MgbG9zIHBhcmVzIGVuIHthdHRlbXB0c30gaW50ZW50b3Mgwrcge3RpbWV9IMK3IHJhY2hhIG3DoXhpbWEge3N0cmVha30uJyxcbiAgICBsb3NlVGl0bGU6ICdUaWVtcG8gYWdvdGFkbycsXG4gICAgbG9zZUJvZHk6ICdFc3R1dm8gY2VyY2EuIFJlaW5pY2lhIHkgcHJ1ZWJhIG90cmEgdmV6LicsXG4gICAgaW5zdHJ1Y3Rpb25zVGl0bGU6ICdDw7NtbyBzZSBqdWVnYScsXG4gICAgaW5zdHJ1Y3Rpb25zQm9keTogJ1RvY2EgZG9zIGNhcnRhcyBwYXJhIGRlc2N1YnJpcmxhcy4gU2kgc29uIGlndWFsZXMgcXVlZGFuIGFiaWVydGFzOyBzaSBubywgbWVtb3JpemEgZMOzbmRlIGVzdGFiYW4geSBwcnVlYmEgZGUgbnVldm8uJyxcbiAgICBsZWFkZXJib2FyZFRpdGxlOiAnTWVqb3JlcyBtYXJjYXMnLFxuICAgIGxlYWRlcmJvYXJkUHJvZmlsZVRpdGxlOiAnTWVqb3JlcyBtYXJjYXM6IHtwcm9maWxlfScsXG4gICAgbGVhZGVyYm9hcmRFbXB0eTogJ0HDum4gbm8gaGF5IG1hcmNhcy4gTGEgcHJpbWVyYSBwdWVkZSBzZXIgdHV5YS4nLFxuICAgIGxlYWRlcmJvYXJkTW92ZXM6ICd7bW92ZXN9IGludGVudG9zJyxcbiAgICBsZWFkZXJib2FyZFRpbWU6ICd7dGltZX0nLFxuICAgIHJlc3VsdFN0YXRzOiAne2F0dGVtcHRzfSBpbnRlbnRvcyDCtyB7dGltZX0nLFxuICAgIGdvbGQ6ICdPcm8nLFxuICAgIHNpbHZlcjogJ1BsYXRhJyxcbiAgICBicm9uemU6ICdCcm9uY2UnLFxuICAgIHNwYXJrOiAnQnVlbmEgcGFydGlkYScsXG4gICAgcGxheUFnYWluOiAnSnVnYXIgb3RyYSB2ZXonLFxuICAgIHNpbW9uSG9tZVRpdGxlOiAnU2ltw7NuJyxcbiAgICBzaW1vbkhvbWVTdWJ0aXRsZTogJ01pcmEgbGEgc2VjdWVuY2lhLCBlc2N1Y2hhIGxvcyB0b25vcyB5IHJlcMOtdGVsYSB0b2NhbmRvIGxvcyBib3RvbmVzIGVuIGVsIG1pc21vIG9yZGVuLicsXG4gICAgc2ltb25Ib3dUb1RpdGxlOiAnQ8OzbW8gc2UganVlZ2EnLFxuICAgIHNpbW9uSG93VG9Cb2R5OiAnU2ltw7NuIG11ZXN0cmEgdW5hIHNlY3VlbmNpYSBkZSBjb2xvcmVzLiBDdWFuZG8gdGVybWluZSwgcmVww610ZWxhLiBDYWRhIHJvbmRhIGFncmVnYSB1biBwYXNvIG51ZXZvLicsXG4gICAgc2ltb25Nb2RlS2lkOiAnUGVxdWVzJyxcbiAgICBzaW1vbk1vZGVLaWREZXNjcmlwdGlvbjogJ03DoXMgbGVudG8geSBhbWFibGUgcGFyYSB0b2NhciBzaW4gYXB1cm8uJyxcbiAgICBzaW1vbk1vZGVDbGFzc2ljOiAnQ2zDoXNpY28nLFxuICAgIHNpbW9uTW9kZUNsYXNzaWNEZXNjcmlwdGlvbjogJ1JpdG1vIGVxdWlsaWJyYWRvIHBhcmEgcHJhY3RpY2FyIG1lbW9yaWEuJyxcbiAgICBzaW1vbk1vZGVOaW5qYTogJ05pbmphJyxcbiAgICBzaW1vbk1vZGVOaW5qYURlc2NyaXB0aW9uOiAnTcOhcyByw6FwaWRvIHkgY29uIG1lbm9zIHBhdXNhIGVudHJlIGNvbG9yZXMuJyxcbiAgICBzaW1vblN0YXJ0OiAnRW1wZXphcicsXG4gICAgc2ltb25XYXRjaDogJ01pcmEnLFxuICAgIHNpbW9uUmVwZWF0OiAnVHUgdHVybm8nLFxuICAgIHNpbW9uR29vZDogJ8KhQmllbiEnLFxuICAgIHNpbW9uRmFpbGVkOiAnVXBzLCBzZSBjb3J0w7MgbGEgc2VjdWVuY2lhJyxcbiAgICBzaW1vbkZhaWxlZEJvZHk6ICdMbGVnYXN0ZSBhIGxhIHJvbmRhIHtyb3VuZH0uIFB1ZWRlcyBpbnRlbnRhcmxvIG90cmEgdmV6IG8gY2FtYmlhciBlbCBtb2RvLicsXG4gICAgc2ltb25Sb3VuZDogJ1JvbmRhJyxcbiAgICBzaW1vbkJlc3RSb3VuZDogJ01lam9yJyxcbiAgICBzaW1vblN0ZXBzOiAnUGFzb3MnLFxuICAgIHNpbW9uTGVhZGVyYm9hcmRUaXRsZTogJ01lam9yZXMgcm9uZGFzJyxcbiAgICBzaW1vbkxlYWRlcmJvYXJkTW9kZVRpdGxlOiAnTWVqb3JlcyByb25kYXM6IHttb2RlfScsXG4gICAgc2ltb25MZWFkZXJib2FyZEVtcHR5OiAnQcO6biBubyBoYXkgcm9uZGFzIGd1YXJkYWRhcy4gTGEgcHJpbWVyYSBwdWVkZSBzZXIgdHV5YS4nLFxuICAgIHNpbW9uU2NvcmU6ICdSb25kYSB7cm91bmR9IMK3IHtzdGVwc30gcGFzb3MnLFxuICAgIGNoZXNzaW1hbHNTdWJ0aXRsZTogJ0p1ZWdhIGVuIGVsIG1pc21vIGRpc3Bvc2l0aXZvLCBhbHRlcm5hbmRvIHR1cm5vcywgaGFzdGEgY29yb25hciB1biBwZcOzbiBvIGVsaW1pbmFyIGFsIHJpdmFsLicsXG4gICAgY2hlc3NpbWFsc0hvd1RvVGl0bGU6ICdDw7NtbyBzZSBqdWVnYScsXG4gICAgY2hlc3NpbWFsc0hvd1RvQm9keTpcbiAgICAgICdDYWRhIHBlw7NuIGF2YW56YSB1bmEgY2FzaWxsYSB5IGNhcHR1cmEgZW4gZGlhZ29uYWwuIEN1YW5kbyBjcnV6YSBlbCBjZW50cm8sIG8gZWwgcml2YWwgZW50cmEgZW4gdHUgbGFkbywgc2UgZGVzYmxvcXVlYW4gY3VhdHJvIHBvZGVyZXMgZGUgdW4gc29sbyB1c28uJyxcbiAgICBjaGVzc2ltYWxzUnVsZXNUaXRsZTogJ1JlZ2xhcyBkZSBDaGVzc2ltYWxzJyxcbiAgICBjaGVzc2ltYWxzUnVsZXNTdWJ0aXRsZTogJ1VuYSBndcOtYSByw6FwaWRhIHBhcmEgZW50ZW5kZXIgdHVybm9zLCBjYXB0dXJhcyB5IHBvZGVyZXMuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUdvYWxUaXRsZTogJ09iamV0aXZvJyxcbiAgICBjaGVzc2ltYWxzUnVsZUdvYWxCb2R5OlxuICAgICAgJ0dhbmEgcXVpZW4gbGxldmEgdW4gcGXDs24gaGFzdGEgbGEgw7psdGltYSBmaWxhIHJpdmFsIGNvbiB1biBwYXNvIG5vcm1hbCwgbyBxdWllbiBjYXB0dXJhIHRvZG9zIGxvcyBwZW9uZXMgZGVsIG9wb25lbnRlLicsXG4gICAgY2hlc3NpbWFsc1J1bGVNb3ZlVGl0bGU6ICdNb3ZpbWllbnRvIGLDoXNpY28nLFxuICAgIGNoZXNzaW1hbHNSdWxlTW92ZUJvZHk6XG4gICAgICAnRW4gdHUgdHVybm8sIHRvY2EgdW5vIGRlIHR1cyBwZW9uZXMuIFB1ZWRlIGF2YW56YXIgdW5hIGNhc2lsbGEgaGFjaWEgYWRlbGFudGUgc2kgZXN0w6EgbGlicmUsIG8gY2FwdHVyYXIgdW5hIHBpZXphIHJpdmFsIGVuIGRpYWdvbmFsLicsXG4gICAgY2hlc3NpbWFsc1J1bGVQb3dlcnNUaXRsZTogJ0N1w6FuZG8gc2UgYWN0aXZhbiBsb3MgcG9kZXJlcycsXG4gICAgY2hlc3NpbWFsc1J1bGVQb3dlcnNCb2R5OlxuICAgICAgJ1R1cyBjYXJ0YXMgc2UgZGVzYmxvcXVlYW4gY3VhbmRvIHVubyBkZSB0dXMgcGVvbmVzIGNydXphIGxhIGzDrW5lYSBjZW50cmFsIG8gY3VhbmRvIHVuIHBlw7NuIHJpdmFsIGVudHJhIGVuIHR1IG1pdGFkIGRlbCB0YWJsZXJvLicsXG4gICAgY2hlc3NpbWFsc1J1bGVDYXJkc1RpdGxlOiAnQ2FydGFzIGRlIGFuaW1hbGVzJyxcbiAgICBjaGVzc2ltYWxzUnVsZUVhZ2xlOiAnw4FndWlsYTogc2UgbXVldmUgaGFzdGEgMyBjYXNpbGxhcyBlbiBkaWFnb25hbCwgaGFjaWEgYWRlbGFudGUgbyBhdHLDoXMuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUJ1bGw6ICdUb3JvOiBzZSBtdWV2ZSBoYXN0YSAzIGNhc2lsbGFzIGVuIGzDrW5lYSByZWN0YSwgaW5jbHVzbyBoYWNpYSBsb3MgbGFkb3MuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUthbmdhcm9vOiAnQ2FuZ3Vybzogc2FsdGEgZG9zIGNhc2lsbGFzIGVuIGzDrW5lYSByZWN0YSwgc2luIG5lY2VzaXRhciB1bmEgcGllemEgYWwgbWVkaW8uIFB1ZWRlIGNhZXIgbGlicmUgbyBjYXB0dXJhciB1bmEgcGllemEgcml2YWwuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUxpb246ICdMZW9uYTogc2UgbXVldmUgaGFzdGEgMyBjYXNpbGxhcyBlbiBjdWFscXVpZXIgZGlyZWNjacOzbi4nLFxuICAgIGNoZXNzaW1hbHNSdWxlTGltaXRzVGl0bGU6ICdSZWdsYXMgZGUgZXF1aWxpYnJpbycsXG4gICAgY2hlc3NpbWFsc1J1bGVMaW1pdHNCb2R5OlxuICAgICAgJ0NhZGEgY2FydGEgc2UgdXNhIHVuYSBzb2xhIHZleiBwb3IgcGFydGlkYS4gTmluZ8O6biBwb2RlciBwdWVkZSBlbnRyYXIgZGlyZWN0YW1lbnRlIGEgbGEgw7psdGltYSBmaWxhOiBlbCBwYXNvIGZpbmFsIHBhcmEgZ2FuYXIgc2llbXByZSBkZWJlIHNlciB1biBhdmFuY2Ugbm9ybWFsLicsXG4gICAgY2hlc3NpbWFsc0JvYXJkU2l6ZTogJ1RhbWHDsW8gZGVsIHRhYmxlcm8nLFxuICAgIGNoZXNzaW1hbHNTaXplU21hbGw6ICdSw6FwaWRvIHBhcmEgYXByZW5kZXIuJyxcbiAgICBjaGVzc2ltYWxzU2l6ZUxhcmdlOiAnTcOhcyBlc3BhY2lvIHkgbcOhcyBlc3RyYXRlZ2lhLicsXG4gICAgY2hlc3NpbWFsc1N0YXJ0OiAnRW1wZXphciBwYXJ0aWRhJyxcbiAgICBjaGVzc2ltYWxzT25saW5lVGl0bGU6ICdKdWdhciBjb24gbGluaycsXG4gICAgY2hlc3NpbWFsc09ubGluZUJvZHk6ICdDcmVhIHVuYSBwYXJ0aWRhLCBjb21wYXJ0ZSBlbCBjw7NkaWdvIHkgbGEgb3RyYSBwZXJzb25hIHNlIHVuZSBkZXNkZSBzdSBkaXNwb3NpdGl2by4gU2kgeWEgaGF5IGRvcyBqdWdhZG9yZXMsIGVsIHJlc3RvIHB1ZWRlIG1pcmFyLicsXG4gICAgY2hlc3NpbWFsc0NyZWF0ZU9ubGluZTogJ0NyZWFyIHBhcnRpZGEgb25saW5lJyxcbiAgICBjaGVzc2ltYWxzQ3JlYXRlT25saW5lSGludDogJ0VsIGPDs2RpZ28gc2UgZ2VuZXJhIGF1dG9tw6F0aWNhbWVudGUgYWwgY3JlYXIgbGEgcGFydGlkYS4nLFxuICAgIGNoZXNzaW1hbHNKb2luT25saW5lVGl0bGU6ICdVbmlyc2UgYSB1bmEgcGFydGlkYScsXG4gICAgY2hlc3NpbWFsc0pvaW5Db2RlOiAnQ8OzZGlnbyBkZSBwYXJ0aWRhJyxcbiAgICBjaGVzc2ltYWxzSm9pbkNvZGVQbGFjZWhvbGRlcjogJ0VqOiBBQkNELTEyMzQnLFxuICAgIGNoZXNzaW1hbHNKb2luT25saW5lOiAnVW5pcm1lJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ1RpdGxlOiAnRXNwZXJhbmRvIHJpdmFsJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ0JvZHk6ICdDb21wYXJ0ZSBlc3RlIGxpbmsgbyBjw7NkaWdvLiBDdWFuZG8gZW50cmUgb3RyYSBwZXJzb25hLCBzZSBzb3J0ZWFyw6FuIGxvcyBjb2xvcmVzIHkgZW1wZXphcsOhIGxhIHBhcnRpZGEuJyxcbiAgICBjaGVzc2ltYWxzR2FtZUNvZGU6ICdDw7NkaWdvJyxcbiAgICBjaGVzc2ltYWxzQ29weUxpbms6ICdDb3BpYXIgbGluaycsXG4gICAgY2hlc3NpbWFsc1NoYXJlTGluazogJ0NvbXBhcnRpciBsaW5rJyxcbiAgICBjaGVzc2ltYWxzTGlua0NvcGllZDogJ0xpbmsgZGUgbGEgcGFydGlkYSBjb3BpYWRvLicsXG4gICAgY2hlc3NpbWFsc1NoYXJlVGV4dDogJ8OabmV0ZSBhIG1pIHBhcnRpZGEgZGUgQ2hlc3NpbWFscy4nLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVXYWl0aW5nOiAnRXNwZXJhbmRvJyxcbiAgICBjaGVzc2ltYWxzT25saW5lUGxheWVyOiAnT25saW5lJyxcbiAgICBjaGVzc2ltYWxzU3BlY3RhdG9yOiAnT2JzZXJ2YWRvcicsXG4gICAgY2hlc3NpbWFsc09ubGluZVZpZXdlcjogJ0VzdGEgcGFydGlkYSB5YSB0aWVuZSBkb3MganVnYWRvcmVzLiBQdWVkZXMgbWlyYXIgY8OzbW8gYXZhbnphLicsXG4gICAgY2hlc3NpbWFsc1lvdXJUdXJuOiAnVHUgdHVybm8nLFxuICAgIGNoZXNzaW1hbHNZb3VyVHVybkJvZHk6ICdUb2NhIHVubyBkZSB0dXMgcGVvbmVzIHBhcmEgdmVyIHN1cyBtb3ZpbWllbnRvcyB5IGp1ZWdhIGN1YW5kbyBlc3TDqXMgbGlzdG8uJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ1R1cm46ICdFc3BlcmEgYSBxdWUganVlZ3VlIGxhIG90cmEgcGVyc29uYS4nLFxuICAgIGNoZXNzaW1hbHNSZW1hdGNoOiAnUGVkaXIgcmV2YW5jaGEnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVFcnJvcjogJ05vIHB1ZGltb3MgYWJyaXIgbGEgcGFydGlkYS4gUmV2aXNhIGVsIGPDs2RpZ28gbyBpbnRlbnRhIG51ZXZhbWVudGUuJyxcbiAgICBjaGVzc2ltYWxzUmVzdW1lU3BsYXNoVGl0bGU6ICdSZXRvbWFuZG8gcGFydGlkYScsXG4gICAgY2hlc3NpbWFsc1Jlc3VtZVNwbGFzaEJvZHk6ICdFc3RhbW9zIGNhcmdhbmRvIGVsIHRhYmxlcm8geSBzaW5jcm9uaXphbmRvIGVsIHR1cm5vLicsXG4gICAgY2hlc3NpbWFsc1R1cm46ICdUdXJubycsXG4gICAgY2hlc3NpbWFsc09uZURldmljZTogJ1VuIGRpc3Bvc2l0aXZvJyxcbiAgICBjaGVzc2ltYWxzT25lRGV2aWNlQm9keTogJ0RvcyBwZXJzb25hcyBhbHRlcm5hbiB0dXJub3MgZW4gbGEgbWlzbWEgcGFudGFsbGEuJyxcbiAgICBjaGVzc2ltYWxzTW9kZVRpdGxlOiAnTW9kbyBkZSBqdWVnbycsXG4gICAgY2hlc3NpbWFsc0JvdE1vZGU6ICdDb250cmEgYm90JyxcbiAgICBjaGVzc2ltYWxzQm90TW9kZUJvZHk6ICdKdWVnYSBjb24gYmxhbmNhcyBjb250cmEgQ2hlc3NpYm90IGVuIGVzdGUgZGlzcG9zaXRpdm8uJyxcbiAgICBjaGVzc2ltYWxzQm90RGlmZmljdWx0eTogJ0RpZmljdWx0YWQgZGVsIGJvdCcsXG4gICAgY2hlc3NpbWFsc0JvdEVhc3k6ICdTdWF2ZScsXG4gICAgY2hlc3NpbWFsc0JvdE5vcm1hbDogJ05vcm1hbCcsXG4gICAgY2hlc3NpbWFsc0JvdEhhcmQ6ICdOaW5qYScsXG4gICAgY2hlc3NpbWFsc0JvdFRoaW5raW5nVGl0bGU6ICdDaGVzc2lib3QgZXN0w6EgcGVuc2FuZG8nLFxuICAgIGNoZXNzaW1hbHNCb3RUaGlua2luZ0JvZHk6ICdFbCBib3QgbXVldmUgbGFzIG5lZ3Jhcy4gRXNwZXJhIHVuIG1vbWVudG8gcGFyYSBjb250aW51YXIuJyxcbiAgICBjaGVzc2ltYWxzQm90WW91clR1cm5Cb2R5OiAnSnVlZ2FzIGNvbiBibGFuY2FzLiBUb2NhIHVubyBkZSB0dXMgcGVvbmVzIHBhcmEgdmVyIHN1cyBtb3ZpbWllbnRvcy4nLFxuICAgIGNoZXNzaW1hbHNDdXJyZW50VHVybjogJ0p1ZWdhbjoge3BsYXllcn0nLFxuICAgIGNoZXNzaW1hbHNCb2FyZEZsaXBzOiAnRWwgdGFibGVybyBzZSBvcmllbnRhIGF1dG9tw6F0aWNhbWVudGUgcGFyYSBxdWllbiB0aWVuZSBlbCB0dXJuby4nLFxuICAgIGNoZXNzaW1hbHNSaXZhbDogJ1JpdmFsJyxcbiAgICBjaGVzc2ltYWxzTW92ZXM6ICdKdWdhZGFzJyxcbiAgICBjaGVzc2ltYWxzUG93ZXJzOiAnUG9kZXJlcycsXG4gICAgY2hlc3NpbWFsc1dpbm5lcjogJ0dhbmFkb3InLFxuICAgIGNoZXNzaW1hbHNSZXN1bHQ6ICdSZXN1bHRhZG8nLFxuICAgIGNoZXNzaW1hbHNCb2FyZDogJ1RhYmxlcm8nLFxuICAgIGNoZXNzaW1hbHNXaGl0ZTogJ0JsYW5jYXMnLFxuICAgIGNoZXNzaW1hbHNCbGFjazogJ05lZ3JhcycsXG4gICAgY2hlc3NpbWFsc1VubG9ja2VkOiAnTGlzdG9zJyxcbiAgICBjaGVzc2ltYWxzTG9ja2VkOiAnQmxvcXVlYWRvcycsXG4gICAgY2hlc3NpbWFsc1NlbGVjdFBpZWNlOiAnU2VsZWNjaW9uYSB5IG11ZXZlJyxcbiAgICBjaGVzc2ltYWxzUGlja0FueVBpZWNlOiAnVG9jYSB1bm8gZGUgdHVzIHBlb25lcyBwYXJhIHZlciBzdXMgbW92aW1pZW50b3MuJyxcbiAgICBjaGVzc2ltYWxzUGlja1RhcmdldDogJ1RvY2EgdW5hIGNhc2lsbGEgbWFyY2FkYSBwYXJhIG1vdmVyIG8gY2FwdHVyYSBlbiBkaWFnb25hbC4nLFxuICAgIGNoZXNzaW1hbHNQaWNrUG93ZXJUYXJnZXQ6ICdUb2NhIHVuYSBjYXNpbGxhIG1hcmNhZGEgcGFyYSB1c2FyIGxhIGNhcnRhIHNlbGVjY2lvbmFkYS4nLFxuICAgIGNoZXNzaW1hbHNBbmltYWxDYXJkczogJ0NhcnRhcyBkZSBhbmltYWxlcycsXG4gICAgY2hlc3NpbWFsc0NhcmRzTG9ja2VkOiAnQ3J1emEgbGEgbMOtbmVhIGNlbnRyYWwgbyBkZWZpZW5kZSB0dSB0ZXJyaXRvcmlvIHBhcmEgZGVzYmxvcXVlYXJsYXMuJyxcbiAgICBjaGVzc2ltYWxzQ2FyZHNSZWFkeTogJ0NhZGEgY2FydGEgc2UgcHVlZGUgdXNhciB1bmEgdmV6IHBvciBwYXJ0aWRhLicsXG4gICAgY2hlc3NpbWFsc1Jlc2lnbjogJ1JlbmRpcnNlJyxcbiAgICBjaGVzc2ltYWxzQ2hhbmdlTW9kZTogJ0NhbWJpYXIgbW9kbycsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1SZXN0YXJ0VGl0bGU6ICfCv1JlaW5pY2lhciBwYXJ0aWRhPycsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1SZXN0YXJ0Qm9keTogJ1NlIHBlcmRlcsOhIGVsIHByb2dyZXNvIGRlIGVzdGEgcGFydGlkYSB5IHZvbHZlcsOhIGEgZW1wZXphciBkZXNkZSBjZXJvLicsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1Ib21lVGl0bGU6ICfCv0NhbWJpYXIgbW9kbz8nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtSG9tZUJvZHk6ICdTYWxkcsOhcyBkZSBsYSBwYXJ0aWRhIGFjdHVhbCB5IHZvbHZlcsOhcyBhbCBzZWxlY3RvciBkZSBtaW5pIGp1ZWdvcy4nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzaWduVGl0bGU6ICfCv1JlbmRpcnNlPycsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1SZXNpZ25Cb2R5OiAnTGEgcGFydGlkYSB0ZXJtaW5hcsOhIGFob3JhIHkgZ2FuYXLDoSBlbCByaXZhbC4nLFxuICAgIGNoZXNzaW1hbHNBbmltYWxFYWdsZTogJ8OBZ3VpbGEnLFxuICAgIGNoZXNzaW1hbHNBbmltYWxCdWxsOiAnVG9ybycsXG4gICAgY2hlc3NpbWFsc0FuaW1hbEthbmdhcm9vOiAnQ2FuZ3VybycsXG4gICAgY2hlc3NpbWFsc0FuaW1hbExpb246ICdMZW9uYScsXG4gICAgY2hlc3NpbWFsc0ZpbmlzaGVkQ2hpcDogJ1BhcnRpZGEgdGVybWluYWRhJyxcbiAgICBjaGVzc2ltYWxzR2FtZU92ZXI6ICdGaW4gZGUgbGEgcGFydGlkYScsXG4gICAgY2hlc3NpbWFsc01vdmVzU3VtbWFyeTogJ3ttb3Zlc30ganVnYWRhcycsXG4gICAgY2hlc3NpbWFsc1dpblRpdGxlOiAnR2FuYW4ge3BsYXllcn0nLFxuICAgIGNoZXNzaW1hbHNXaW5Qcm9tb3Rpb246ICdVbiBwZcOzbiBsbGVnw7MgYSBsYSDDumx0aW1hIGZpbGEgY29uIHVuIHBhc28gbm9ybWFsLicsXG4gICAgY2hlc3NpbWFsc1dpbkVsaW1pbmF0aW9uOiAnTm8gcXVlZGFuIHBlb25lcyByaXZhbGVzIGVuIGVsIHRhYmxlcm8uJyxcbiAgICBjaGVzc2ltYWxzV2luUmVzaWduYXRpb246ICdMYSBvdHJhIHBlcnNvbmEgc2UgcmV0aXLDsy4nLFxuICAgIGNoZXNzaW1hbHNSZWFzb25Qcm9tb3Rpb246ICdDb3JvbmFjacOzbicsXG4gICAgY2hlc3NpbWFsc1JlYXNvbkVsaW1pbmF0aW9uOiAnRWxpbWluYWNpw7NuJyxcbiAgICBjaGVzc2ltYWxzUmVhc29uUmVzaWduYXRpb246ICdSZW5kaWNpw7NuJyxcbiAgfSxcbiAgZW46IHtcbiAgICBtZW51VGl0bGU6ICdNaW5pIGdhbWVzJyxcbiAgICBtZW51U3VidGl0bGU6ICdBIHRpbnkgc2VjcmV0IGNvcm5lciBmb3IgYSBwbGF5ZnVsIGJyZWFrLicsXG4gICAgbWVtb3J5VGl0bGU6ICdSZXRybyBNZW1vcnknLFxuICAgIG1lbW9yeURlc2NyaXB0aW9uOiAnRmluZCBwYWlycywgdHJhaW4geW91ciBtZW1vcnksIGFuZCB1bmxvY2sgcmV0cm8gc291bmRzLicsXG4gICAgc2ltb25UaXRsZTogJ1NpbW9uJyxcbiAgICBzaW1vbkRlc2NyaXB0aW9uOiAnUmVwZWF0IGxvbmdlciBhbmQgbG9uZ2VyIGxpZ2h0LWFuZC1zb3VuZCBwYXR0ZXJucy4nLFxuICAgIGNoZXNzaW1hbHNUaXRsZTogJ0NoZXNzaW1hbHMnLFxuICAgIGNoZXNzaW1hbHNEZXNjcmlwdGlvbjogJ0EgcGF3biByYWNlIHdpdGggYW5pbWFsIGNhcmRzIGFuZCB0YWN0aWNhbCBwb3dlcnMuJyxcbiAgICBzb29uVGl0bGU6ICdDb21pbmcgc29vbicsXG4gICAgb3BlbkdhbWU6ICdQbGF5JyxcbiAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgIGxlYXJuTW9yZTogJ0xlYXJuIG1vcmUnLFxuICAgIGhvbWVUaXRsZTogJ1JldHJvIE1lbW9yeScsXG4gICAgaG9tZVN1YnRpdGxlOiAnQ2hvb3NlIGhvdyB0byBwbGF5LCBmaW5kIGV2ZXJ5IHBhaXIsIGFuZCBrZWVwIHlvdXIgYmVzdCBsb2NhbCBzY29yZXMgb24gdGhpcyBkZXZpY2UuJyxcbiAgICBwcm9maWxlVGl0bGU6ICdDaG9vc2UgeW91ciBhZHZlbnR1cmUnLFxuICAgIHBsYXllclRpdGxlOiAnUGxheWVyJyxcbiAgICBwbGF5ZXJTdWJ0aXRsZTogJ1lvdXIgbmFtZSBhbmQgYXZhdGFyIGFyZSBzYXZlZCBvbmx5IG9uIHRoaXMgZGV2aWNlLicsXG4gICAgcGxheWVyTmFtZTogJ05hbWUnLFxuICAgIHBsYXllck5hbWVQbGFjZWhvbGRlcjogJ0UuZy4gU29maScsXG4gICAgZGVmYXVsdFBsYXllck5hbWU6ICdQbGF5ZXInLFxuICAgIGF2YXRhclRpdGxlOiAnQXZhdGFyJyxcbiAgICBjb2xvclRpdGxlOiAnQ29sb3InLFxuICAgIGFyY2FkZVBsYXllclN1YnRpdGxlOiAnVXNlZCBhY3Jvc3MgZXZlcnkgbWluaSBnYW1lIG9uIHRoaXMgZGV2aWNlLicsXG4gICAgc2VsZWN0UGxheWVyOiAnU2VsZWN0IHBsYXllcicsXG4gICAgbmV3UGxheWVyOiAnTmV3IHBsYXllcicsXG4gICAgbG9nZ2VkUGxheWVyOiAnU2Vzc2lvbicsXG4gICAgbG9jYWxQbGF5ZXI6ICdMb2NhbCBwcm9maWxlJyxcbiAgICBraWQ6ICdLaWRzJyxcbiAgICBraWREZXNjcmlwdGlvbjogJ0Zld2VyIHBhaXJzLCBtb3JlIHRpbWUgdG8gdGFwLCBub3RpY2UsIGFuZCBkaXNjb3Zlci4nLFxuICAgIG5pbmphOiAnTmluamEnLFxuICAgIG5pbmphRGVzY3JpcHRpb246ICdNb3JlIGNhcmRzLCBmYXN0ZXIgdHVybnMsIGFuZCBhIHRpbWVyLicsXG4gICAgZGlmZmljdWx0eVRpdGxlOiAnRGlmZmljdWx0eScsXG4gICAgZWFzeTogJ0Vhc3knLFxuICAgIG1lZGl1bTogJ01lZGl1bScsXG4gICAgaGFyZDogJ0hhcmQnLFxuICAgIG1vZGVUaXRsZTogJ01vZGUnLFxuICAgIGNsYXNzaWM6ICdDbGFzc2ljJyxcbiAgICBjbGFzc2ljRGVzY3JpcHRpb246ICdBIGJhbGFuY2VkIGdhbWUgZm9yIG1lbW9yeSBwcmFjdGljZS4nLFxuICAgIHJlbGF4ZWQ6ICdSZWxheGVkJyxcbiAgICB0aW1lZDogJ1RpbWVkJyxcbiAgICBzb3VuZDogJ1NvdW5kJyxcbiAgICBzb3VuZE9uOiAnU291bmQgb24nLFxuICAgIHNvdW5kT2ZmOiAnU291bmQgb2ZmJyxcbiAgICBzdGFydDogJ1BsYXknLFxuICAgIHN0YXJ0R2FtZTogJ1N0YXJ0IGdhbWUnLFxuICAgIHJlc3RhcnQ6ICdSZXN0YXJ0JyxcbiAgICBiYWNrVG9TZXR1cDogJ0NoYW5nZSBtb2RlJyxcbiAgICBhdHRlbXB0czogJ0F0dGVtcHRzJyxcbiAgICBwYWlyczogJ1BhaXJzJyxcbiAgICBzdHJlYWs6ICdTdHJlYWsnLFxuICAgIHRpbWU6ICdUaW1lJyxcbiAgICB0aW1lTGVmdDogJ0xlZnQnLFxuICAgIHdpblRpdGxlOiAnWW91IGRpZCBpdCEnLFxuICAgIHdpbkJvZHk6ICdZb3UgZm91bmQgZXZlcnkgcGFpciBpbiB7YXR0ZW1wdHN9IGF0dGVtcHRzIMK3IHt0aW1lfSDCtyBiZXN0IHN0cmVhayB7c3RyZWFrfS4nLFxuICAgIGxvc2VUaXRsZTogJ1RpbWUgaXMgdXAnLFxuICAgIGxvc2VCb2R5OiAnVGhhdCB3YXMgY2xvc2UuIFJlc3RhcnQgYW5kIHRyeSBhZ2Fpbi4nLFxuICAgIGluc3RydWN0aW9uc1RpdGxlOiAnSG93IHRvIHBsYXknLFxuICAgIGluc3RydWN0aW9uc0JvZHk6ICdUYXAgdHdvIGNhcmRzIHRvIHJldmVhbCB0aGVtLiBNYXRjaGluZyBjYXJkcyBzdGF5IG9wZW47IG90aGVyd2lzZSwgcmVtZW1iZXIgd2hlcmUgdGhleSB3ZXJlIGFuZCB0cnkgYWdhaW4uJyxcbiAgICBsZWFkZXJib2FyZFRpdGxlOiAnQmVzdCBzY29yZXMnLFxuICAgIGxlYWRlcmJvYXJkUHJvZmlsZVRpdGxlOiAnQmVzdCBzY29yZXM6IHtwcm9maWxlfScsXG4gICAgbGVhZGVyYm9hcmRFbXB0eTogJ05vIHNjb3JlcyB5ZXQuIFlvdXJzIGNhbiBiZSB0aGUgZmlyc3QuJyxcbiAgICBsZWFkZXJib2FyZE1vdmVzOiAne21vdmVzfSBhdHRlbXB0cycsXG4gICAgbGVhZGVyYm9hcmRUaW1lOiAne3RpbWV9JyxcbiAgICByZXN1bHRTdGF0czogJ3thdHRlbXB0c30gYXR0ZW1wdHMgwrcge3RpbWV9JyxcbiAgICBnb2xkOiAnR29sZCcsXG4gICAgc2lsdmVyOiAnU2lsdmVyJyxcbiAgICBicm9uemU6ICdCcm9uemUnLFxuICAgIHNwYXJrOiAnTmljZSBnYW1lJyxcbiAgICBwbGF5QWdhaW46ICdQbGF5IGFnYWluJyxcbiAgICBzaW1vbkhvbWVUaXRsZTogJ1NpbW9uJyxcbiAgICBzaW1vbkhvbWVTdWJ0aXRsZTogJ1dhdGNoIHRoZSBzZXF1ZW5jZSwgbGlzdGVuIHRvIHRoZSB0b25lcywgYW5kIHJlcGVhdCBpdCBieSB0YXBwaW5nIHRoZSBidXR0b25zIGluIHRoZSBzYW1lIG9yZGVyLicsXG4gICAgc2ltb25Ib3dUb1RpdGxlOiAnSG93IHRvIHBsYXknLFxuICAgIHNpbW9uSG93VG9Cb2R5OiAnU2ltb24gc2hvd3MgYSBjb2xvciBzZXF1ZW5jZS4gV2hlbiBpdCBlbmRzLCByZXBlYXQgaXQuIEVhY2ggcm91bmQgYWRkcyBvbmUgbmV3IHN0ZXAuJyxcbiAgICBzaW1vbk1vZGVLaWQ6ICdLaWRzJyxcbiAgICBzaW1vbk1vZGVLaWREZXNjcmlwdGlvbjogJ1Nsb3dlciBhbmQgZ2VudGxlciBmb3IgcmVsYXhlZCB0YXBwaW5nLicsXG4gICAgc2ltb25Nb2RlQ2xhc3NpYzogJ0NsYXNzaWMnLFxuICAgIHNpbW9uTW9kZUNsYXNzaWNEZXNjcmlwdGlvbjogJ0JhbGFuY2VkIHBhY2UgZm9yIG1lbW9yeSBwcmFjdGljZS4nLFxuICAgIHNpbW9uTW9kZU5pbmphOiAnTmluamEnLFxuICAgIHNpbW9uTW9kZU5pbmphRGVzY3JpcHRpb246ICdGYXN0ZXIgd2l0aCBzaG9ydGVyIHBhdXNlcyBiZXR3ZWVuIGNvbG9ycy4nLFxuICAgIHNpbW9uU3RhcnQ6ICdTdGFydCcsXG4gICAgc2ltb25XYXRjaDogJ1dhdGNoJyxcbiAgICBzaW1vblJlcGVhdDogJ1lvdXIgdHVybicsXG4gICAgc2ltb25Hb29kOiAnTmljZSEnLFxuICAgIHNpbW9uRmFpbGVkOiAnT29wcywgdGhlIHNlcXVlbmNlIGJyb2tlJyxcbiAgICBzaW1vbkZhaWxlZEJvZHk6ICdZb3UgcmVhY2hlZCByb3VuZCB7cm91bmR9LiBUcnkgYWdhaW4gb3IgY2hhbmdlIG1vZGUuJyxcbiAgICBzaW1vblJvdW5kOiAnUm91bmQnLFxuICAgIHNpbW9uQmVzdFJvdW5kOiAnQmVzdCcsXG4gICAgc2ltb25TdGVwczogJ1N0ZXBzJyxcbiAgICBzaW1vbkxlYWRlcmJvYXJkVGl0bGU6ICdCZXN0IHJvdW5kcycsXG4gICAgc2ltb25MZWFkZXJib2FyZE1vZGVUaXRsZTogJ0Jlc3Qgcm91bmRzOiB7bW9kZX0nLFxuICAgIHNpbW9uTGVhZGVyYm9hcmRFbXB0eTogJ05vIHJvdW5kcyBzYXZlZCB5ZXQuIFlvdXJzIGNhbiBiZSBmaXJzdC4nLFxuICAgIHNpbW9uU2NvcmU6ICdSb3VuZCB7cm91bmR9IMK3IHtzdGVwc30gc3RlcHMnLFxuICAgIGNoZXNzaW1hbHNTdWJ0aXRsZTogJ1BsYXkgb24gdGhlIHNhbWUgZGV2aWNlLCBhbHRlcm5hdGluZyB0dXJucywgdW50aWwgYSBwYXduIHByb21vdGVzIG9yIHRoZSByaXZhbCBpcyBlbGltaW5hdGVkLicsXG4gICAgY2hlc3NpbWFsc0hvd1RvVGl0bGU6ICdIb3cgdG8gcGxheScsXG4gICAgY2hlc3NpbWFsc0hvd1RvQm9keTpcbiAgICAgICdFYWNoIHBhd24gbW92ZXMgb25lIHNxdWFyZSBmb3J3YXJkIGFuZCBjYXB0dXJlcyBkaWFnb25hbGx5LiBDcm9zc2luZyB0aGUgY2VudGVyLCBvciBkZWZlbmRpbmcgYWdhaW5zdCBhbiBpbnZhZGluZyByaXZhbCBwYXduLCB1bmxvY2tzIGZvdXIgb25lLXVzZSBwb3dlcnMuJyxcbiAgICBjaGVzc2ltYWxzUnVsZXNUaXRsZTogJ0NoZXNzaW1hbHMgcnVsZXMnLFxuICAgIGNoZXNzaW1hbHNSdWxlc1N1YnRpdGxlOiAnQSBxdWljayBndWlkZSB0byB0dXJucywgY2FwdHVyZXMsIGFuZCBwb3dlcnMuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUdvYWxUaXRsZTogJ0dvYWwnLFxuICAgIGNoZXNzaW1hbHNSdWxlR29hbEJvZHk6XG4gICAgICAnV2luIGJ5IG1vdmluZyBvbmUgcGF3biB0byB0aGUgcml2YWwgYmFjayByb3cgd2l0aCBhIG5vcm1hbCBzdGVwLCBvciBieSBjYXB0dXJpbmcgZXZlcnkgb3Bwb3NpbmcgcGF3bi4nLFxuICAgIGNoZXNzaW1hbHNSdWxlTW92ZVRpdGxlOiAnQmFzaWMgbW92ZW1lbnQnLFxuICAgIGNoZXNzaW1hbHNSdWxlTW92ZUJvZHk6XG4gICAgICAnT24geW91ciB0dXJuLCB0YXAgb25lIG9mIHlvdXIgcGF3bnMuIEl0IGNhbiBtb3ZlIG9uZSBzcXVhcmUgZm9yd2FyZCBpZiB0aGUgc3F1YXJlIGlzIGZyZWUsIG9yIGNhcHR1cmUgYSByaXZhbCBwaWVjZSBkaWFnb25hbGx5LicsXG4gICAgY2hlc3NpbWFsc1J1bGVQb3dlcnNUaXRsZTogJ1doZW4gcG93ZXJzIHVubG9jaycsXG4gICAgY2hlc3NpbWFsc1J1bGVQb3dlcnNCb2R5OlxuICAgICAgJ1lvdXIgY2FyZHMgdW5sb2NrIHdoZW4gb25lIG9mIHlvdXIgcGF3bnMgY3Jvc3NlcyB0aGUgY2VudGVyIGxpbmUsIG9yIHdoZW4gYSByaXZhbCBwYXduIGVudGVycyB5b3VyIGhhbGYgb2YgdGhlIGJvYXJkLicsXG4gICAgY2hlc3NpbWFsc1J1bGVDYXJkc1RpdGxlOiAnQW5pbWFsIGNhcmRzJyxcbiAgICBjaGVzc2ltYWxzUnVsZUVhZ2xlOiAnRWFnbGU6IG1vdmVzIHVwIHRvIDMgc3F1YXJlcyBkaWFnb25hbGx5LCBmb3J3YXJkIG9yIGJhY2t3YXJkLicsXG4gICAgY2hlc3NpbWFsc1J1bGVCdWxsOiAnQnVsbDogbW92ZXMgdXAgdG8gMyBzcXVhcmVzIGluIGEgc3RyYWlnaHQgbGluZSwgaW5jbHVkaW5nIHNpZGV3YXlzLicsXG4gICAgY2hlc3NpbWFsc1J1bGVLYW5nYXJvbzogJ0thbmdhcm9vOiBqdW1wcyB0d28gc3F1YXJlcyBpbiBhIHN0cmFpZ2h0IGxpbmUsIHdpdGhvdXQgbmVlZGluZyBhIHBpZWNlIGluIGJldHdlZW4uIEl0IGNhbiBsYW5kIG9uIGFuIGVtcHR5IHNxdWFyZSBvciBjYXB0dXJlIGEgcml2YWwgcGllY2UuJyxcbiAgICBjaGVzc2ltYWxzUnVsZUxpb246ICdMaW9uZXNzOiBtb3ZlcyB1cCB0byAzIHNxdWFyZXMgaW4gYW55IGRpcmVjdGlvbi4nLFxuICAgIGNoZXNzaW1hbHNSdWxlTGltaXRzVGl0bGU6ICdCYWxhbmNlIHJ1bGVzJyxcbiAgICBjaGVzc2ltYWxzUnVsZUxpbWl0c0JvZHk6XG4gICAgICAnRWFjaCBjYXJkIGNhbiBiZSB1c2VkIG9uY2UgcGVyIGdhbWUuIE5vIHBvd2VyIGNhbiBsYW5kIGRpcmVjdGx5IG9uIHRoZSBmaW5hbCByb3c6IHRoZSB3aW5uaW5nIHN0ZXAgbXVzdCBhbHdheXMgYmUgYSBub3JtYWwgZm9yd2FyZCBtb3ZlLicsXG4gICAgY2hlc3NpbWFsc0JvYXJkU2l6ZTogJ0JvYXJkIHNpemUnLFxuICAgIGNoZXNzaW1hbHNTaXplU21hbGw6ICdRdWljayB0byBsZWFybi4nLFxuICAgIGNoZXNzaW1hbHNTaXplTGFyZ2U6ICdNb3JlIHJvb20gYW5kIG1vcmUgc3RyYXRlZ3kuJyxcbiAgICBjaGVzc2ltYWxzU3RhcnQ6ICdTdGFydCBnYW1lJyxcbiAgICBjaGVzc2ltYWxzT25saW5lVGl0bGU6ICdQbGF5IHdpdGggYSBsaW5rJyxcbiAgICBjaGVzc2ltYWxzT25saW5lQm9keTogJ0NyZWF0ZSBhIGdhbWUsIHNoYXJlIHRoZSBjb2RlLCBhbmQgYW5vdGhlciBwbGF5ZXIgam9pbnMgZnJvbSB0aGVpciBkZXZpY2UuIElmIHR3byBwbGF5ZXJzIGFscmVhZHkgam9pbmVkLCBldmVyeW9uZSBlbHNlIGNhbiB3YXRjaC4nLFxuICAgIGNoZXNzaW1hbHNDcmVhdGVPbmxpbmU6ICdDcmVhdGUgb25saW5lIGdhbWUnLFxuICAgIGNoZXNzaW1hbHNDcmVhdGVPbmxpbmVIaW50OiAnVGhlIGNvZGUgaXMgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgY3JlYXRlIHRoZSBnYW1lLicsXG4gICAgY2hlc3NpbWFsc0pvaW5PbmxpbmVUaXRsZTogJ0pvaW4gYSBnYW1lJyxcbiAgICBjaGVzc2ltYWxzSm9pbkNvZGU6ICdHYW1lIGNvZGUnLFxuICAgIGNoZXNzaW1hbHNKb2luQ29kZVBsYWNlaG9sZGVyOiAnRS5nLiBBQkNELTEyMzQnLFxuICAgIGNoZXNzaW1hbHNKb2luT25saW5lOiAnSm9pbicsXG4gICAgY2hlc3NpbWFsc1dhaXRpbmdUaXRsZTogJ1dhaXRpbmcgZm9yIHJpdmFsJyxcbiAgICBjaGVzc2ltYWxzV2FpdGluZ0JvZHk6ICdTaGFyZSB0aGlzIGxpbmsgb3IgY29kZS4gV2hlbiBhbm90aGVyIHBsYXllciBqb2lucywgY29sb3JzIGFyZSByYW5kb21seSBhc3NpZ25lZCBhbmQgdGhlIGdhbWUgc3RhcnRzLicsXG4gICAgY2hlc3NpbWFsc0dhbWVDb2RlOiAnQ29kZScsXG4gICAgY2hlc3NpbWFsc0NvcHlMaW5rOiAnQ29weSBsaW5rJyxcbiAgICBjaGVzc2ltYWxzU2hhcmVMaW5rOiAnU2hhcmUgbGluaycsXG4gICAgY2hlc3NpbWFsc0xpbmtDb3BpZWQ6ICdHYW1lIGxpbmsgY29waWVkLicsXG4gICAgY2hlc3NpbWFsc1NoYXJlVGV4dDogJ0pvaW4gbXkgQ2hlc3NpbWFscyBnYW1lLicsXG4gICAgY2hlc3NpbWFsc09ubGluZVdhaXRpbmc6ICdXYWl0aW5nJyxcbiAgICBjaGVzc2ltYWxzT25saW5lUGxheWVyOiAnT25saW5lJyxcbiAgICBjaGVzc2ltYWxzU3BlY3RhdG9yOiAnU3BlY3RhdG9yJyxcbiAgICBjaGVzc2ltYWxzT25saW5lVmlld2VyOiAnVGhpcyBnYW1lIGFscmVhZHkgaGFzIHR3byBwbGF5ZXJzLiBZb3UgY2FuIHdhdGNoIGl0IHBsYXkgb3V0LicsXG4gICAgY2hlc3NpbWFsc1lvdXJUdXJuOiAnWW91ciB0dXJuJyxcbiAgICBjaGVzc2ltYWxzWW91clR1cm5Cb2R5OiAnVGFwIG9uZSBvZiB5b3VyIHBhd25zIHRvIHNlZSBpdHMgbW92ZXMgYW5kIHBsYXkgd2hlbiB5b3UgYXJlIHJlYWR5LicsXG4gICAgY2hlc3NpbWFsc1dhaXRpbmdUdXJuOiAnV2FpdCBmb3IgdGhlIG90aGVyIHBsYXllciB0byBtb3ZlLicsXG4gICAgY2hlc3NpbWFsc1JlbWF0Y2g6ICdSZXF1ZXN0IHJlbWF0Y2gnLFxuICAgIGNoZXNzaW1hbHNPbmxpbmVFcnJvcjogJ1dlIGNvdWxkIG5vdCBvcGVuIHRoaXMgZ2FtZS4gQ2hlY2sgdGhlIGNvZGUgb3IgdHJ5IGFnYWluLicsXG4gICAgY2hlc3NpbWFsc1Jlc3VtZVNwbGFzaFRpdGxlOiAnUmVzdW1pbmcgZ2FtZScsXG4gICAgY2hlc3NpbWFsc1Jlc3VtZVNwbGFzaEJvZHk6ICdMb2FkaW5nIHRoZSBib2FyZCBhbmQgc3luY2luZyB0aGUgdHVybi4nLFxuICAgIGNoZXNzaW1hbHNUdXJuOiAnVHVybicsXG4gICAgY2hlc3NpbWFsc09uZURldmljZTogJ09uZSBkZXZpY2UnLFxuICAgIGNoZXNzaW1hbHNPbmVEZXZpY2VCb2R5OiAnVHdvIHBlb3BsZSBhbHRlcm5hdGUgdHVybnMgb24gdGhlIHNhbWUgc2NyZWVuLicsXG4gICAgY2hlc3NpbWFsc01vZGVUaXRsZTogJ0dhbWUgbW9kZScsXG4gICAgY2hlc3NpbWFsc0JvdE1vZGU6ICdBZ2FpbnN0IGJvdCcsXG4gICAgY2hlc3NpbWFsc0JvdE1vZGVCb2R5OiAnUGxheSB3aGl0ZSBhZ2FpbnN0IENoZXNzaWJvdCBvbiB0aGlzIGRldmljZS4nLFxuICAgIGNoZXNzaW1hbHNCb3REaWZmaWN1bHR5OiAnQm90IGRpZmZpY3VsdHknLFxuICAgIGNoZXNzaW1hbHNCb3RFYXN5OiAnR2VudGxlJyxcbiAgICBjaGVzc2ltYWxzQm90Tm9ybWFsOiAnTm9ybWFsJyxcbiAgICBjaGVzc2ltYWxzQm90SGFyZDogJ05pbmphJyxcbiAgICBjaGVzc2ltYWxzQm90VGhpbmtpbmdUaXRsZTogJ0NoZXNzaWJvdCBpcyB0aGlua2luZycsXG4gICAgY2hlc3NpbWFsc0JvdFRoaW5raW5nQm9keTogJ1RoZSBib3QgaXMgbW92aW5nIGJsYWNrLiBXYWl0IGEgbW9tZW50IHRvIGNvbnRpbnVlLicsXG4gICAgY2hlc3NpbWFsc0JvdFlvdXJUdXJuQm9keTogJ1lvdSBwbGF5IHdoaXRlLiBUYXAgb25lIG9mIHlvdXIgcGF3bnMgdG8gc2VlIGl0cyBtb3Zlcy4nLFxuICAgIGNoZXNzaW1hbHNDdXJyZW50VHVybjogJ3twbGF5ZXJ9IHRvIG1vdmUnLFxuICAgIGNoZXNzaW1hbHNCb2FyZEZsaXBzOiAnVGhlIGJvYXJkIGF1dG9tYXRpY2FsbHkgZmFjZXMgdGhlIHBsYXllciB3aG9zZSB0dXJuIGl0IGlzLicsXG4gICAgY2hlc3NpbWFsc1JpdmFsOiAnUml2YWwnLFxuICAgIGNoZXNzaW1hbHNNb3ZlczogJ01vdmVzJyxcbiAgICBjaGVzc2ltYWxzUG93ZXJzOiAnUG93ZXJzJyxcbiAgICBjaGVzc2ltYWxzV2lubmVyOiAnV2lubmVyJyxcbiAgICBjaGVzc2ltYWxzUmVzdWx0OiAnUmVzdWx0JyxcbiAgICBjaGVzc2ltYWxzQm9hcmQ6ICdCb2FyZCcsXG4gICAgY2hlc3NpbWFsc1doaXRlOiAnV2hpdGUnLFxuICAgIGNoZXNzaW1hbHNCbGFjazogJ0JsYWNrJyxcbiAgICBjaGVzc2ltYWxzVW5sb2NrZWQ6ICdSZWFkeScsXG4gICAgY2hlc3NpbWFsc0xvY2tlZDogJ0xvY2tlZCcsXG4gICAgY2hlc3NpbWFsc1NlbGVjdFBpZWNlOiAnU2VsZWN0IGFuZCBtb3ZlJyxcbiAgICBjaGVzc2ltYWxzUGlja0FueVBpZWNlOiAnVGFwIG9uZSBvZiB5b3VyIHBhd25zIHRvIHNlZSBpdHMgbW92ZXMuJyxcbiAgICBjaGVzc2ltYWxzUGlja1RhcmdldDogJ1RhcCBhIG1hcmtlZCBzcXVhcmUgdG8gbW92ZSwgb3IgY2FwdHVyZSBkaWFnb25hbGx5LicsXG4gICAgY2hlc3NpbWFsc1BpY2tQb3dlclRhcmdldDogJ1RhcCBhIG1hcmtlZCBzcXVhcmUgdG8gdXNlIHRoZSBzZWxlY3RlZCBjYXJkLicsXG4gICAgY2hlc3NpbWFsc0FuaW1hbENhcmRzOiAnQW5pbWFsIGNhcmRzJyxcbiAgICBjaGVzc2ltYWxzQ2FyZHNMb2NrZWQ6ICdDcm9zcyB0aGUgY2VudGVyIGxpbmUgb3IgZGVmZW5kIHlvdXIgdGVycml0b3J5IHRvIHVubG9jayB0aGVtLicsXG4gICAgY2hlc3NpbWFsc0NhcmRzUmVhZHk6ICdFYWNoIGNhcmQgY2FuIGJlIHVzZWQgb25jZSBwZXIgZ2FtZS4nLFxuICAgIGNoZXNzaW1hbHNSZXNpZ246ICdSZXNpZ24nLFxuICAgIGNoZXNzaW1hbHNDaGFuZ2VNb2RlOiAnQ2hhbmdlIG1vZGUnLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzdGFydFRpdGxlOiAnUmVzdGFydCBnYW1lPycsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1SZXN0YXJ0Qm9keTogJ1RoaXMgZ2FtZSBwcm9ncmVzcyB3aWxsIGJlIGxvc3QgYW5kIHRoZSBib2FyZCB3aWxsIHN0YXJ0IG92ZXIuJyxcbiAgICBjaGVzc2ltYWxzQ29uZmlybUhvbWVUaXRsZTogJ0NoYW5nZSBtb2RlPycsXG4gICAgY2hlc3NpbWFsc0NvbmZpcm1Ib21lQm9keTogJ1lvdSB3aWxsIGxlYXZlIHRoZSBjdXJyZW50IGdhbWUgYW5kIHJldHVybiB0byB0aGUgbWluaSBnYW1lcyBzZWxlY3Rvci4nLFxuICAgIGNoZXNzaW1hbHNDb25maXJtUmVzaWduVGl0bGU6ICdSZXNpZ24/JyxcbiAgICBjaGVzc2ltYWxzQ29uZmlybVJlc2lnbkJvZHk6ICdUaGUgZ2FtZSB3aWxsIGVuZCBub3cgYW5kIHRoZSByaXZhbCBwbGF5ZXIgd2lsbCB3aW4uJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsRWFnbGU6ICdFYWdsZScsXG4gICAgY2hlc3NpbWFsc0FuaW1hbEJ1bGw6ICdCdWxsJyxcbiAgICBjaGVzc2ltYWxzQW5pbWFsS2FuZ2Fyb286ICdLYW5nYXJvbycsXG4gICAgY2hlc3NpbWFsc0FuaW1hbExpb246ICdMaW9uZXNzJyxcbiAgICBjaGVzc2ltYWxzRmluaXNoZWRDaGlwOiAnR2FtZSBmaW5pc2hlZCcsXG4gICAgY2hlc3NpbWFsc0dhbWVPdmVyOiAnR2FtZSBvdmVyJyxcbiAgICBjaGVzc2ltYWxzTW92ZXNTdW1tYXJ5OiAne21vdmVzfSBtb3ZlcycsXG4gICAgY2hlc3NpbWFsc1dpblRpdGxlOiAne3BsYXllcn0gd2luJyxcbiAgICBjaGVzc2ltYWxzV2luUHJvbW90aW9uOiAnQSBwYXduIHJlYWNoZWQgdGhlIGZpbmFsIHJvdyB3aXRoIGEgbm9ybWFsIHN0ZXAuJyxcbiAgICBjaGVzc2ltYWxzV2luRWxpbWluYXRpb246ICdObyByaXZhbCBwYXducyByZW1haW4gb24gdGhlIGJvYXJkLicsXG4gICAgY2hlc3NpbWFsc1dpblJlc2lnbmF0aW9uOiAnVGhlIG90aGVyIHBsYXllciByZXNpZ25lZC4nLFxuICAgIGNoZXNzaW1hbHNSZWFzb25Qcm9tb3Rpb246ICdQcm9tb3Rpb24nLFxuICAgIGNoZXNzaW1hbHNSZWFzb25FbGltaW5hdGlvbjogJ0VsaW1pbmF0aW9uJyxcbiAgICBjaGVzc2ltYWxzUmVhc29uUmVzaWduYXRpb246ICdSZXNpZ25hdGlvbicsXG4gIH0sXG59O1xuIl19
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.372';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4zNzInO1xuIl19
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.372';
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.',
@@ -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.',