/**
 * Usage:
 *
 *   background-color: color(white);
 */
.u-type--light {
  font-weight: 300;
}

.u-type--regular {
  font-weight: 400;
}

.u-type--medium {
  font-weight: 500;
}

.u-type--bold {
  font-weight: 700;
}

/* breakpoints */
@media (max-width: 639px) {
  .table-wrapper {
    width: 100%;
    overflow-y: auto;
    _overflow: auto;
    margin: 0 0 1em;
  }
  .table-wrapper::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 14px;
    height: 14px;
  }
  .table-wrapper::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 3px solid #fff;
    background-color: rgba(0, 0, 0, 0.3);
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9mdW5jdGlvbnMvX2NvbG9yLnNjc3MiLCJhYnN0cmFjdHMvdmFycy9fdHlwZS5zY3NzIiwiY29tcG9uZW50LXRhYmxlLmNzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJhYnN0cmFjdHMvbWl4aW5zL19zYXNzLW1xLW1vZC5zY3NzIiwiY29tcG9uZW50LXRhYmxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7RUFBQTtBQ2tRRTtFQUNFLGdCQUFBO0FDNVBKOztBRDJQRTtFQUNFLGdCQUFBO0FDeFBKOztBRHVQRTtFQUNFLGdCQUFBO0FDcFBKOztBRG1QRTtFQUNFLGdCQUFBO0FDaFBKOztBQ05BLGdCQUFBO0FDc05RO0VDaE9OO0lBQ0ksV0FBQTtJQUNGLGdCQUFBO0tBQ0EsY0FBQTtJQUNBLGVBQUE7RUhxQkY7RUdqQkE7SUFFRSx3QkFBQTtJQUNBLFdBQUE7SUFDQSxZQUFBO0VIa0JGO0VHZkE7SUFFRSxrQkFBQTtJQUNBLHNCQUFBO0lBQ0Esb0NBQUE7RUhnQkY7QUFDRiIsImZpbGUiOiJjb21wb25lbnQtdGFibGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFVzYWdlOlxyXG4gKlxyXG4gKiAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcclxuICovXHJcbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xyXG4kZnVuY3Rpb25hbC1jb2xvcnM6ICgpICFkZWZhdWx0O1xyXG5cclxuQGZ1bmN0aW9uIGNvbG9yKCRjb2xvcikge1xyXG4gIEBpZiBtYXAtZ2V0KCRjb2xvcnMsICRjb2xvcikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRjb2xvcik7XHJcbiAgfSBAZWxzZSBpZiBtYXAtZ2V0KCRmdW5jdGlvbmFsLWNvbG9ycywgJGNvbG9yKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZ1bmN0aW9uYWwtY29sb3JzLCAkY29sb3IpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgLyogU3R5bGVmbXQgY2hhbmdlcyB0aGUgcXVvdGVzIGV2ZXJ5IHRpbWUsIHNvIHR1cm5pbmcgb2ZmIHRoZSBlcnJvciBoZXJlICovXHJcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc3RyaW5nLXF1b3RlcyAqL1xyXG4gICAgQGVycm9yIFwiQ29sb3IgXFxcIiN7JGNvbG9yfVxcXCJjb3VsZCBub3QgYmUgZm91bmRcIjtcclxuICB9XHJcbn1cclxuIiwiJHVpLXR5cG9ncmFwaHktc3RhY2stZGVmYXVsdDogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3M6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbiR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0czogKFxyXG4gIC8vIHRoaW46IDEwMCxcclxuICBsaWdodDogMzAwLFxyXG4gIHJlZ3VsYXI6IDQwMCxcclxuICBtZWRpdW06IDUwMCxcclxuICBib2xkOiA3MDAsXHJcbiAgLy8gYmxhY2s6IDkwMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHVpLXR5cG9ncmFwaHktZGVmYXVsdDogKFxyXG4gIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1kZWZhdWx0LFxyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbCxcclxuICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgbWFyZ2luOiAwLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbiR1aS10eXBvZ3JhcGh5LXN0eWxlczogKFxyXG4gIC8vaG9tZXBhZ2UgaGVhZGVyXHJcbiAgZDYtbGgtbGc6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDMycHgpLCA0MHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDYxcHgpLCA3NnB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgZDY6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDMycHgpLCA0MHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDUwcHgpLCA1NnB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgZDU6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDI5cHgpLCAzNnB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDQxcHgpLCA0NHB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgZDUtbGlnaHQ6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDI5cHgpLCAzNnB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDQxcHgpLCA0NHB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsbGlnaHQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgZDQ6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDI2cHgpLCAzMnB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDM0cHgpLCA0MHB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgZDM6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDIzcHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDI4cHgpLCAzNnB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgZDI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDIxcHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDI0cHgpLCAzMHB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgZDE6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyNHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgaDJzejogKFxyXG4gICAgc2l6ZXM6IDIuOXJlbSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBoM3N6OiAoXHJcbiAgICBzaXplczogMi4ycmVtLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG5cclxuICBoNHN6OiAoXHJcbiAgICBzaXplczogMS43cmVtLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGg1c3o6IChcclxuICAgIHNpemVzOiAyLjRyZW0sXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgbGVhZDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjJweCksIDMycHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjRweCksIDM2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWMsXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkLXNtYWxsOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICApLFxyXG4gIGQteHNtYWxsOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxNnB4KSwgMTZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGJvZHk6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGxpZ2h0KSxcclxuICApLFxyXG4gIGJvZHkyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgbGluazogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBkYXRlOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxNnB4KSwgMjBweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGhlYWRlcjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMTZweCksIDIwcHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICApLFxyXG4gIHN1YmhlYWRlcjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICApLFxyXG4gIHNpdGUtc2VhcmNoOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICAgIHNtOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGlucHV0OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGJyZWFkY3J1bWI6IChcclxuICAgIHNpemVzOiAgKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGZlYXR1cmVkOiAoXHJcbiAgICBzaXplczogIChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICApLFxyXG4gIGNvcHlyaWdodDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMTRweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTNweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgcmVndWxhciksXHJcbiAgKSxcclxuICBjYXB0aW9uOiAoXHJcbiAgICBzaXplczogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICksXHJcbiAgZm9ybS1sYWJlbDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICApLFxyXG4gIGZvcm0taGVscGVyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIHBkZjogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbGlnaHQpLFxyXG4gICksXHJcbiAgbWFwLXJlc3VsdHM6IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjBweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGxpZ2h0KSxcclxuICApLFxyXG4gIGJldGEtbm90aWNlOiAoXHJcbiAgICBzaXplczogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgc2l0ZS13aWRlLWFsZXJ0OiAoXHJcbiAgICBzaXplczogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuQGVhY2ggJG5hbWUsICRzdHlsZSBpbiAkdWktdHlwb2dyYXBoeS1zdHlsZXMge1xyXG4gICR1aS10eXBvZ3JhcGh5LXN0eWxlczogbWFwLW1lcmdlKCR1aS10eXBvZ3JhcGh5LXN0eWxlcywgKFxyXG4gICAgI3skbmFtZX06IG1hcC1tZXJnZSgkdWktdHlwb2dyYXBoeS1kZWZhdWx0LCAkc3R5bGUpXHJcbiAgKSk7XHJcbn1cclxuXHJcbkBlYWNoICRuYW1lLCAkc3R5bGUgaW4gJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzIHtcclxuICAudS10eXBlLS0jeyRuYW1lfSB7XHJcbiAgICBmb250LXdlaWdodDogI3skc3R5bGV9O1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiIsIi8qKlxuICogVXNhZ2U6XG4gKlxuICogICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gKi9cbi51LXR5cGUtLWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnUtdHlwZS0tcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi51LXR5cGUtLW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi51LXR5cGUtLWJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vKiBicmVha3BvaW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC50YWJsZS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIF9vdmVyZmxvdzogYXV0bztcbiAgICBtYXJnaW46IDAgMCAxZW07XG4gIH1cbiAgLnRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICB9XG4gIC50YWJsZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB9XG59IiwiLy8gQGltcG9ydCAnfnNhc3MtbXEvbXEnO1xyXG5AaW1wb3J0ICdtaXhpbnMvc2Fzcy1tcS1tb2Quc2Nzcyc7XHJcbkBpbXBvcnQgJy4uL2NvbW1vbi11aS90eXBvZ3JhcGh5L21peGlucyc7XHJcbkBpbXBvcnQgJ21peGlucy9hY2Nlc3NpYmlsaXR5JztcclxuQGltcG9ydCAnbWl4aW5zL2J1dHRvbic7XHJcbkBpbXBvcnQgJ21peGlucy9saW5rJztcclxuQGltcG9ydCAnbWl4aW5zL292ZXJsYXknO1xyXG5AaW1wb3J0ICdtaXhpbnMvdHJhbnNpdGlvbnMnO1xyXG5AaW1wb3J0ICdtaXhpbnMvc2hhZG93cyc7XHJcbkBpbXBvcnQgJ21peGlucy90YWcnO1xyXG5AaW1wb3J0ICcuLi9hYnN0cmFjdHMvdmFycy9jb2xvcnMnO1xyXG5cclxuLy8gQmVsb3cgYXJlIG1peGluJ3MgZnJvbSBGWEFcclxuLyogYnJlYWtwb2ludHMgKi9cclxuXHJcbiRicmVhay1kZXNrdG9wOiA5NjBweDtcclxuJGJyZWFrLW1vYmlsZTogMzgwcHg7XHJcbiRicmVhay1tb2JpbGUtaG9yaXpvbnRhbDogNjQwcHg7XHJcbiRicmVhay1tb2JpbGUtbGFyZ2U6IDc4NnB4O1xyXG5AbWl4aW4gd3JhcHBlcigpIHtcclxuICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG59XHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBmb250LXNpemUoJHNpemVWYWx1ZTogMS42KSB7XHJcbiAgICBmb250LXNpemU6ICgkc2l6ZVZhbHVlICogMTApICsgcHg7XHJcbiAgICBmb250LXNpemU6ICRzaXplVmFsdWUgKyByZW07XHJcbn1cclxuQG1peGluIG9wZW5zYW5zLWZvbnQtc3RhY2soKSB7XHJcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XHJcbn1cclxuQG1peGluIGxvYWRpbmctZ2lmKCkge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJZ2QybGtkR2c5SWpNeUlpQm9aV2xuYUhROUlqTXlJaUJtYVd4c1BTSmliR0ZqYXlJK0RRb2dJRHh3WVhSb0lDQnZjR0ZqYVhSNVBTSXVNalVpSUdROUlrMHhOaUF3SUVFeE5pQXhOaUF3SURBZ01DQXhOaUF6TWlCQk1UWWdNVFlnTUNBd0lEQWdNVFlnTUNCTk1UWWdOQ0JCTVRJZ01USWdNQ0F3SURFZ01UWWdNamdnUVRFeUlERXlJREFnTUNBeElERTJJRFFpTHo0TkNpQWdQSEJoZEdnZ1ptbHNiRDBuSXpGaE9EQmlOaWNnWkQwaVRURTJJREFnUVRFMklERTJJREFnTUNBeElETXlJREUySUV3eU9DQXhOaUJCTVRJZ01USWdNQ0F3SURBZ01UWWdOSG9pUGcwS0lDQWdJRHhoYm1sdFlYUmxWSEpoYm5ObWIzSnRJR0YwZEhKcFluVjBaVTVoYldVOUluUnlZVzV6Wm05eWJTSWdkSGx3WlQwaWNtOTBZWFJsSWlCbWNtOXRQU0l3SURFMklERTJJaUIwYnowaU16WXdJREUySURFMklpQmtkWEk5SWpBdU9ITWlJSEpsY0dWaGRFTnZkVzUwUFNKcGJtUmxabWx1YVhSbElpQXZQZzBLSUNBOEwzQmhkR2crRFFvOEwzTjJaejROQ2c9PSk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gcmVzcG9uZC10bygkbWVkaWEpIHtcclxuICAgIEBpZiAkbWVkaWE9PW1vYmlsZSB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09bW9iaWxlLWhvcml6b250YWwge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLW1vYmlsZS1ob3Jpem9udGFsIC0gMSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PW1vYmlsZS1sYXJnZSB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLWxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09dGFibGV0IHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1tb2JpbGUgKyAxKSBhbmQgKG1heC13aWR0aDogJGJyZWFrLWRlc2t0b3AgLSAxKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09YWxsLW1vYmlsZSB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstZGVza3RvcCAtIDEpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1kZXNrdG9wIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gYm9yZGVyLWJhc2ljKCRwb3NpdGlvbjphbGwsICRib3JkZXItY29sb3I6JGJvcmRlci1ncmF5LCAkYm9yZGVyLXdpZHRoOjFweCkge1xyXG4gICAgQGlmKCRwb3NpdGlvbj09dG9wKSB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJHBvc2l0aW9uPT1ib3R0b20pIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkcG9zaXRpb249PWxlZnQpIHtcclxuICAgICAgICBib3JkZXItbGVmdDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJHBvc2l0aW9uPT1yaWdodCkge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBmaXhlZC1iZygkcG9zLCAkbWluLWhlaWdodDoyNDBweCkge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvcztcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcclxufVxyXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcy4uLikge1xyXG4gICAgLy8gRGlyZWN0aW9uIGhhcyBiZWVuIG9taXR0ZWQgYW5kIGhhcHBlbnMgdG8gYmUgYSBjb2xvci1zdG9wXHJcbiAgICBAaWYgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pPT1mYWxzZSB7XHJcbiAgICAgICAgJGNvbG9yLXN0b3BzOiAkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHM7XHJcbiAgICAgICAgJGRpcmVjdGlvbjogMTgwZGVnO1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3Itc3RvcHMsIDEpLCAxKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcclxufVxyXG4iLCIvL21vZGRlZCB0byB1c2UgcHhcclxuXHJcbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxyXG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXHJcblxyXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcclxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcclxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgbW9kZVxyXG4vLy9cclxuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxyXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcclxuLy8vXHJcbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXHJcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyBvbGQtaWUuc2Nzc1xyXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcclxuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcclxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcclxuLy8vXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cclxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQnJlYWtwb2ludCBsaXN0XHJcbi8vL1xyXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2VcclxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cclxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cclxuLy8vXHJcbi8vLyBAdHlwZSBNYXBcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtYnJlYWtwb2ludHM6IChcclxuICAgIG1vYmlsZTogIDMyMHB4LFxyXG4gICAgdGFibGV0OiAgNzQwcHgsXHJcbiAgICBkZXNrdG9wOiA5ODBweCxcclxuICAgIHdpZGU6ICAgIDEzMDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcclxuLy8vXHJcbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcclxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxyXG4vLy8gKGkuZS4gd2hlbiAkbXEtcmVzcG9uc2l2ZSBpcyBzZXQgdG8gJ2ZhbHNlJykgaW4gYSBvbGQtaWUuc2Nzc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyB0YWJsZXQtb25seS5zY3NzXHJcbi8vLyAgLy9cclxuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcclxuLy8vICAvLyBhbmQgZml4IHRoZSBzdHlsZXMgKGUuZy4gbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcclxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XHJcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XHJcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XHJcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXHJcbi8vL1xyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxyXG4vLy9cclxuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXHJcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xyXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXHJcbi8vL1xyXG4vLy8gQHR5cGUgbWFwXHJcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxyXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcclxuLy8vXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1tZWRpYS10eXBlOiBhbGwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xyXG4vLy8gIHAgeyBmb250LXNpemU6IG1xLXB4MmVtKDE2cHgpOyB9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxyXG4vLy8gQHJldHVybnMge051bWJlcn1cclxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcclxuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcclxuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcclxuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcclxuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcclxuICAgICAgICBAcmV0dXJuICRweDtcclxuICAgIH1cclxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XHJcbn1cclxuXHJcbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFZhbHVlIGluIHBpeGVsc1xyXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xyXG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxyXG4vLy9cclxuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxyXG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXHJcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcclxuLy8vXHJcbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxyXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcclxuLy8vXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLmVsZW1lbnQge1xyXG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xyXG4vLy8gICAgICBjb2xvcjogcmVkO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcclxuLy8vICAgICAgY29sb3I6IGJsdWU7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xyXG4vLy8gICAgICBjb2xvcjogZ3JlZW47XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xyXG4vLy8gICAgICBjb2xvcjogdGVhbDtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxyXG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xyXG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbkBtaXhpbiBtcShcclxuICAgICRmcm9tOiBmYWxzZSxcclxuICAgICR1bnRpbDogZmFsc2UsXHJcbiAgICAkYW5kOiBmYWxzZSxcclxuICAgICRlbXMtb246IGZhbHNlLFxyXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxyXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXHJcbiAgICAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsXHJcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxyXG4pIHtcclxuICAgICRtaW4td2lkdGg6IDA7XHJcbiAgICAkbWF4LXdpZHRoOiAwO1xyXG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcclxuXHJcbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcclxuICAgIEBpZiAkZnJvbSB7XHJcbiAgICAgICAgQGlmIHR5cGUtb2YoJGZyb20pID09IG51bWJlciB7XHJcbiAgICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKCRmcm9tKSwgKCRmcm9tKSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKSwgbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXHJcbiAgICBAaWYgJHVudGlsIHtcclxuICAgICAgICBAaWYgdHlwZS1vZigkdW50aWwpID09IG51bWJlciB7XHJcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKCR1bnRpbCksKCR1bnRpbCkpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBpZigkZW1zLW9uLCBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW0sIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSAtIDFweCk7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xyXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cclxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XHJcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgICAgICAgJHRhcmdldC13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKSwgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcclxuXHJcbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcclxuICAgICAgICBAaWYgKFxyXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXHJcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcclxuICAgICAgICAgICAgYW5kIChcclxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cclxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cclxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxyXG5cclxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcclxuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcclxuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xyXG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gUXVpY2sgc29ydFxyXG4vLy9cclxuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcclxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxyXG5AZnVuY3Rpb24gX21xLXF1aWNrLXNvcnQoJGxpc3QpIHtcclxuICAgICRsZXNzOiAgKCk7XHJcbiAgICAkZXF1YWw6ICgpO1xyXG4gICAgJGxhcmdlOiAoKTtcclxuXHJcbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xyXG4gICAgICAgICRzZWVkOiBudGgoJGxpc3QsIGNlaWwobGVuZ3RoKCRsaXN0KSAvIDIpKTtcclxuXHJcbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xyXG4gICAgICAgICAgICBAaWYgKCRpdGVtID09ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xyXG4gICAgICAgICAgICAgICAgJGxlc3M6IGFwcGVuZCgkbGVzcywgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQHJldHVybiBqb2luKGpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuICRsaXN0O1xyXG59XHJcblxyXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxyXG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxyXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcclxuICAgICRtYXAtc29ydGVkOiAoKTtcclxuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XHJcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcclxuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xyXG5cclxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcclxuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xyXG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XHJcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcclxuICAgICAgICAkbWFwLXNvcnRlZDogbWFwLW1lcmdlKCRtYXAtc29ydGVkLCAoJGtleTogJHZhbHVlKSk7XHJcblxyXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXHJcbiAgICAgICAgLy8gZnJvbSBmaW5kaW5nIHRoZSBzYW1lIGluZGV4IHR3aWNlXHJcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcclxufVxyXG5cclxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XHJcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XHJcbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XHJcbiAgICAkbmV3LWJyZWFrcG9pbnQ6ICgkbmFtZTogJHdpZHRoKTtcclxuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xyXG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXHJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXHJcbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcclxuLy8vXHJcbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3NcclxuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcclxuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xyXG4gICAgYm9keTpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xyXG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xyXG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxyXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xyXG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcclxuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XHJcbn1cclxuIiwiQGltcG9ydCBcImFic3RyYWN0c1wiO1xyXG5cclxuQGluY2x1ZGUgbXEoJHVudGlsOnNtKSB7XHJcbiAgLnRhYmxlLXdyYXBwZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBfb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgMCAxZW07XHJcblxyXG4gIH1cclxuXHJcbiAgLnRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyXHJcbiAge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgfVxyXG5cclxuICAudGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJcclxuICB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMyk7XHJcbiAgfVxyXG59Il19 */
