/* assets/stylesheets/calculator.css */
math-field.pl-calculator-input::part(menu-toggle),
math-field.pl-calculator-output::part(menu-toggle),
math-field.pl-calculator-history-text::part(menu-toggle),
math-field.pl-calculator-input::part(virtual-keyboard-toggle),
math-field.pl-calculator-output::part(virtual-keyboard-toggle),
math-field.pl-calculator-history-text::part(virtual-keyboard-toggle) {
  display: none;
}
math-field.force-light {
  --hue: 210;
  --caret-color: hsl(var(--hue), 40%, 49%);
  --selection-color: #000;
  --selection-background-color: hsl(var(--hue), 70%, 85%);
  --contains-highlight-background-color: hsl(var(--hue), 40%, 95%);
  --contains-highlight-color: hsl(var(--hue), 40%, 49%);
  --text-highlight-background-color: hsla(var(--hue), 40%, 50%, 0.1);
  --_contains-highlight-background-color: var( --contains-highlight-background-color, hsl(var(--_hue), 40%, 95%) );
  --_caret-color: var(--caret-color, hsl(var(--_hue), 40%, 49%));
  --_selection-color: var(--selection-color, #000);
  --_selection-background-color: var(--selection-background-color, hsl(var(--_hue), 70%, 85%));
  --_text-highlight-background-color: var(--highlight-text, hsla(var(--_hue), 40%, 50%, 0.1));
  --_contains-highlight-background-color: var( --contains-highlight-background-color, hsl(var(--_hue), 40%, 95%) );
  --_latex-color: var(--latex-color, hsl(var(--_hue), 80%, 40%));
  --_composition-background-color: var(--composition-background-color, #fff1c2);
  --_composition-text-color: var(--composition-text-color, black);
  --_composition-underline-color: var(--composition-underline-color, transparent);
  --_smart-fence-color: var(--smart-fence-color, currentColor);
  --_smart-fence-opacity: var(--smart-fence-opacity, 0.5);
  --semantic-blue: var(--blue-700);
  --semantic-red: var(--red-400);
  --semantic-orange: var(--orange-400);
  --semantic-green: var(--green-700);
  --neutral-100: #f5f5f5;
  --neutral-200: #eeeeee;
  --neutral-300: #e0e0e0;
  --neutral-400: #bdbdbd;
  --neutral-500: #9e9e9e;
  --neutral-600: #757575;
  --neutral-700: #616161;
  --neutral-800: #424242;
  --neutral-900: #212121;
}
.calculator-main mjx-container {
  pointer-events: none !important;
}
.calculator-drawer {
  position: fixed;
  bottom: 0;
  right: 16px;
  z-index: 1045;
  background: var(--bs-body-bg, #fff);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
  transform: translateY(100%);
  transition: transform 0.3s ease, visibility 0.3s;
  visibility: hidden;
  max-height: 80vh;
  min-width: 460px;
  border-radius: 8px 8px 0 0;
}
.calculator-drawer.open {
  transform: translateY(0);
  visibility: visible;
}
.calculator-drawer.no-transition {
  transition: none !important;
}
.calculator-resize-handle {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 8px;
  cursor: col-resize;
  touch-action: none;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s;
}
.calculator-resize-handle::after {
  content: "";
  width: 4px;
  height: 32px;
  border-radius: 2px;
  background-color: transparent;
  transition: background-color 0.15s;
}
.calculator-resize-handle:hover {
  background-color: rgba(0, 0, 0, 0.06);
}
.calculator-resize-handle:hover::after {
  background-color: rgba(0, 0, 0, 0.3);
}
.calculator-drawer-header {
  padding: 6px 12px;
  cursor: pointer;
}
.calculator-drawer-body {
  min-height: 0;
}
.calculator-fab {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1045;
  display: none;
  align-items: center;
  font-size: 0.9rem;
  transition: opacity 0.2s ease;
}
.calculator-fab:hover {
  opacity: 0.9;
}
.calculator-fab.visible {
  display: flex;
}
.calculator-fab-close {
  background: none;
  border: none;
  color: #fff;
  width: 20px;
  height: 20px;
  cursor: pointer;
  font-size: 0.8rem;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.calculator-fab-close:hover {
  background: rgba(255, 255, 255, 0.3);
}
.calculator-input-group {
  border-bottom: none;
}
.calculator-input-group.error {
  border-color: var(--bs-danger) !important;
}
math-field.pl-calculator-input {
  height: auto;
  font-size: 1rem;
  display: block;
  border: none;
  border-radius: unset;
  outline: none;
}
math-field.pl-calculator-input:focus {
  outline: none;
}
.input-container {
  min-height: 38px;
}
.input-container .calculator-action-btn:hover {
  color: var(--bs-danger);
}
.output-panel {
  min-height: 28px;
}
math-field.pl-calculator-output {
  height: auto;
  font-size: 0.85rem;
  display: block;
  border: 0;
  max-width: 100%;
  overflow: hidden;
  color: var(--bs-secondary-color);
}
math-field.pl-calculator-output:focus {
  outline: none;
}
.history-panel {
  height: 150px;
}
.history-content {
  min-width: 0;
}
.history-row {
  transition: background-color 0.15s;
}
.history-row:hover {
  background-color: var(--bs-tertiary-bg);
}
math-field.pl-calculator-history-text {
  height: auto;
  font-size: inherit;
  border: 0;
  min-width: 0;
  display: block;
  background: transparent;
  pointer-events: none;
}
math-field.pl-calculator-history-text:focus {
  outline: none;
}
.calculator-action-btn {
  border: none;
  background: transparent;
  color: var(--bs-gray-500);
  padding: 2px 6px;
  border-radius: var(--bs-border-radius-sm);
  cursor: pointer;
}
.calculator-action-btn:hover {
  background-color: var(--bs-gray-300);
  color: var(--bs-gray-700);
}
.history-action-btn {
  font-size: 0.75rem;
}
.history-mode-badge {
  cursor: pointer;
  font-size: 0.65rem;
}
.calculator-main {
  container-type: inline-size;
  container-name: calculator;
}
.toggle-label {
  font-size: 0.85rem;
}
#abc-keyboard,
#func-keyboard {
  display: none;
}
#main-keyboard {
  display: flex;
}
#main-keyboard,
#abc-keyboard,
#func-keyboard {
  height: 200px;
  gap: 5px;
  padding: 5px;
}
.btn-row {
  flex: 1;
}
#func-keyboard .col-action {
  align-self: start;
}
.btn-key.uppercase {
  text-transform: uppercase;
}
#main-keyboard .btn,
#func-keyboard .btn {
  min-width: 50px;
  flex: 1;
  margin: 3px;
  font-size: 1rem;
  white-space: nowrap;
}
#abc-keyboard .btn {
  width: 9%;
  max-width: 55px;
  min-width: 35px;
  display: inline-block;
  margin: 3px;
  font-size: 1rem;
  white-space: nowrap;
  padding: unset;
}
#abc-keyboard .btn-wide {
  width: 11%;
  max-width: 70px;
}
#abc-keyboard .btn-row {
  flex-wrap: nowrap;
  align-items: stretch;
}
.col-nav {
  display: none;
  width: 24px;
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-secondary-color);
  border: none;
  border-radius: var(--bs-border-radius-sm);
  cursor: pointer;
}
.col-nav svg {
  transform: scaleX(0.5);
}
.col-nav:hover {
  background: var(--bs-secondary-bg);
  color: var(--bs-body-color);
}
#main-keyboard .col-functions,
#main-keyboard .col-numbers {
  width: 280px;
}
#main-keyboard .col-extras {
  width: 130px;
}
@container calculator (max-width: 740px) {
  #main-keyboard .col-functions {
    display: none !important;
  }
  #main-keyboard .col-nav-left {
    display: flex;
  }
  #main-keyboard.show-functions .col-functions {
    display: flex !important;
  }
  #main-keyboard.show-functions .col-numbers {
    display: none !important;
  }
  #main-keyboard.show-functions .col-nav-left {
    display: none;
  }
  #main-keyboard.show-functions .col-nav-right {
    display: flex;
  }
}
#func-keyboard .col-trig,
#func-keyboard .col-math {
  width: 240px;
}
#func-keyboard .col-action {
  width: 80px;
}
#func-keyboard .btn {
  min-width: 60px;
}
@container calculator (max-width: 560px) {
  #func-keyboard .col-trig {
    display: none !important;
  }
  #func-keyboard .col-nav-left {
    display: flex;
  }
  #func-keyboard.show-trig .col-trig {
    display: flex !important;
  }
  #func-keyboard.show-trig .col-math {
    display: none !important;
  }
  #func-keyboard.show-trig .col-nav-left {
    display: none;
  }
  #func-keyboard.show-trig .col-nav-right {
    display: flex;
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vYXNzZXRzL3N0eWxlc2hlZXRzL2NhbGN1bGF0b3IuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiAjcmVnaW9uIE1hdGggZmllbGQgb3ZlcnJpZGVzICovXG5cbm1hdGgtZmllbGQucGwtY2FsY3VsYXRvci1pbnB1dDo6cGFydChtZW51LXRvZ2dsZSksXG5tYXRoLWZpZWxkLnBsLWNhbGN1bGF0b3Itb3V0cHV0OjpwYXJ0KG1lbnUtdG9nZ2xlKSxcbm1hdGgtZmllbGQucGwtY2FsY3VsYXRvci1oaXN0b3J5LXRleHQ6OnBhcnQobWVudS10b2dnbGUpLFxubWF0aC1maWVsZC5wbC1jYWxjdWxhdG9yLWlucHV0OjpwYXJ0KHZpcnR1YWwta2V5Ym9hcmQtdG9nZ2xlKSxcbm1hdGgtZmllbGQucGwtY2FsY3VsYXRvci1vdXRwdXQ6OnBhcnQodmlydHVhbC1rZXlib2FyZC10b2dnbGUpLFxubWF0aC1maWVsZC5wbC1jYWxjdWxhdG9yLWhpc3RvcnktdGV4dDo6cGFydCh2aXJ0dWFsLWtleWJvYXJkLXRvZ2dsZSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBBcHBhcmVudGx5IHRoZW1lPVwibGlnaHRcIiBkb2VzIG5vdCBvdmVycmlkZSBwcmVmZXJzLWNvbG9yLXNjaGVtZVxuICogc28gd2UgYXJlIG1hbnVhbGx5IG92ZXJyaWRpbmcgdGhlIHJlbGV2YW50IENTUyB2YXJpYWJsZXMgdG8gZW5zdXJlXG4gKiB0aGUgbWF0aCBmaWVsZCBsb29rcyBnb29kIGluIGRhcmsgbW9kZSByZWdhcmRsZXNzIG9mIHVzZXIgcHJlZmVyZW5jZS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hcm5vZy9tYXRobGl2ZS9ibG9iLzgzNDJlMWNiNzVlNzgyOGVmN2NiMDkyZWY0Mjg4Nzg1ODIxNWU2NjkvY3NzL21hdGhmaWVsZC5sZXNzXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYXJub2cvbWF0aGxpdmUvYmxvYi84MzQyZTFjYjc1ZTc4MjhlZjdjYjA5MmVmNDI4ODc4NTgyMTVlNjY5L3NyYy91aS9jb2xvcnMvY29sb3JzLmxlc3NcbiAqL1xubWF0aC1maWVsZC5mb3JjZS1saWdodCB7XG4gIC0taHVlOiAyMTA7XG4gIC0tY2FyZXQtY29sb3I6IGhzbCh2YXIoLS1odWUpLCA0MCUsIDQ5JSk7XG4gIC0tc2VsZWN0aW9uLWNvbG9yOiAjMDAwO1xuICAtLXNlbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiBoc2wodmFyKC0taHVlKSwgNzAlLCA4NSUpO1xuICAtLWNvbnRhaW5zLWhpZ2hsaWdodC1iYWNrZ3JvdW5kLWNvbG9yOiBoc2wodmFyKC0taHVlKSwgNDAlLCA5NSUpO1xuICAtLWNvbnRhaW5zLWhpZ2hsaWdodC1jb2xvcjogaHNsKHZhcigtLWh1ZSksIDQwJSwgNDklKTtcbiAgLS10ZXh0LWhpZ2hsaWdodC1iYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKHZhcigtLWh1ZSksIDQwJSwgNTAlLCAwLjEpO1xuXG4gIC8qIG92ZXJyaWRlIG1hdGhsaXZlL2Nzcy9tYXRoZmllbGQubGVzcyAqL1xuICAtLV9jb250YWlucy1oaWdobGlnaHQtYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgIC0tY29udGFpbnMtaGlnaGxpZ2h0LWJhY2tncm91bmQtY29sb3IsXG4gICAgaHNsKHZhcigtLV9odWUpLCA0MCUsIDk1JSlcbiAgKTtcbiAgLS1fY2FyZXQtY29sb3I6IHZhcigtLWNhcmV0LWNvbG9yLCBoc2wodmFyKC0tX2h1ZSksIDQwJSwgNDklKSk7XG5cbiAgLS1fc2VsZWN0aW9uLWNvbG9yOiB2YXIoLS1zZWxlY3Rpb24tY29sb3IsICMwMDApO1xuICAtLV9zZWxlY3Rpb24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2VsZWN0aW9uLWJhY2tncm91bmQtY29sb3IsIGhzbCh2YXIoLS1faHVlKSwgNzAlLCA4NSUpKTtcblxuICAtLV90ZXh0LWhpZ2hsaWdodC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oaWdobGlnaHQtdGV4dCwgaHNsYSh2YXIoLS1faHVlKSwgNDAlLCA1MCUsIDAuMSkpO1xuXG4gIC0tX2NvbnRhaW5zLWhpZ2hsaWdodC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgLS1jb250YWlucy1oaWdobGlnaHQtYmFja2dyb3VuZC1jb2xvcixcbiAgICBoc2wodmFyKC0tX2h1ZSksIDQwJSwgOTUlKVxuICApO1xuXG4gIC0tX2xhdGV4LWNvbG9yOiB2YXIoLS1sYXRleC1jb2xvciwgaHNsKHZhcigtLV9odWUpLCA4MCUsIDQwJSkpO1xuXG4gIC0tX2NvbXBvc2l0aW9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbXBvc2l0aW9uLWJhY2tncm91bmQtY29sb3IsICNmZmYxYzIpO1xuICAtLV9jb21wb3NpdGlvbi10ZXh0LWNvbG9yOiB2YXIoLS1jb21wb3NpdGlvbi10ZXh0LWNvbG9yLCBibGFjayk7XG4gIC0tX2NvbXBvc2l0aW9uLXVuZGVybGluZS1jb2xvcjogdmFyKC0tY29tcG9zaXRpb24tdW5kZXJsaW5lLWNvbG9yLCB0cmFuc3BhcmVudCk7XG5cbiAgLS1fc21hcnQtZmVuY2UtY29sb3I6IHZhcigtLXNtYXJ0LWZlbmNlLWNvbG9yLCBjdXJyZW50Q29sb3IpO1xuICAtLV9zbWFydC1mZW5jZS1vcGFjaXR5OiB2YXIoLS1zbWFydC1mZW5jZS1vcGFjaXR5LCAwLjUpO1xuXG4gIC8qIG92ZXJyaWRlIG1hdGhsaXZlL3NyYy91aS9jb2xvcnMvY29sb3JzLmxlc3MgKi9cbiAgLS1zZW1hbnRpYy1ibHVlOiB2YXIoLS1ibHVlLTcwMCk7XG4gIC0tc2VtYW50aWMtcmVkOiB2YXIoLS1yZWQtNDAwKTtcbiAgLS1zZW1hbnRpYy1vcmFuZ2U6IHZhcigtLW9yYW5nZS00MDApO1xuICAtLXNlbWFudGljLWdyZWVuOiB2YXIoLS1ncmVlbi03MDApO1xuXG4gIC0tbmV1dHJhbC0xMDA6ICNmNWY1ZjU7XG4gIC0tbmV1dHJhbC0yMDA6ICNlZWVlZWU7XG4gIC0tbmV1dHJhbC0zMDA6ICNlMGUwZTA7XG4gIC0tbmV1dHJhbC00MDA6ICNiZGJkYmQ7XG4gIC0tbmV1dHJhbC01MDA6ICM5ZTllOWU7XG4gIC0tbmV1dHJhbC02MDA6ICM3NTc1NzU7XG4gIC0tbmV1dHJhbC03MDA6ICM2MTYxNjE7XG4gIC0tbmV1dHJhbC04MDA6ICM0MjQyNDI7XG4gIC0tbmV1dHJhbC05MDA6ICMyMTIxMjE7XG59XG5cbi8qIERpc2FibGUgTWF0aEpheCBjbGljayBhY3RpdmF0aW9uIG9uIGNhbGN1bGF0b3IgYnV0dG9ucyB3aGlsZSBrZWVwaW5nIGtleWJvYXJkIGExMXlcbiAqIFRPRE86IEludmVzdGlnYXRlIGlmIHdlIGNhbiBmdXJ0aGVyIGltcHJvdmUgdGhpcyBiZWhhdmlvci5cbiAqIFNlZSBodHRwczovL2RvY3MubWF0aGpheC5vcmcvZW4vdjQuMC91cGdyYWRpbmcvd2hhdHMtbmV3LTQuMC9leHBsb3Jlci5odG1sI2V4cGxvcmluZy1leHByZXNzaW9uc1xuKi9cbi5jYWxjdWxhdG9yLW1haW4gbWp4LWNvbnRhaW5lciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qICNlbmRyZWdpb24gKi9cblxuLyogI3JlZ2lvbiBEcmF3ZXIgKi9cblxuLmNhbGN1bGF0b3ItZHJhd2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAxNnB4O1xuICB6LWluZGV4OiAxMDQ1OyAvKiBGQUIgb2ZmY2FudmFzIGxheWVyICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWJzLWJvZHktYmcsICNmZmYpO1xuICBib3gtc2hhZG93OiAwIC0ycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb246XG4gICAgdHJhbnNmb3JtIDAuM3MgZWFzZSxcbiAgICB2aXNpYmlsaXR5IDAuM3M7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgbWluLXdpZHRoOiA0NjBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG59XG5cbi5jYWxjdWxhdG9yLWRyYXdlci5vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uY2FsY3VsYXRvci1kcmF3ZXIubm8tdHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNhbGN1bGF0b3ItcmVzaXplLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiA4cHg7XG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLmNhbGN1bGF0b3ItcmVzaXplLWhhbmRsZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4uY2FsY3VsYXRvci1yZXNpemUtaGFuZGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cblxuLmNhbGN1bGF0b3ItcmVzaXplLWhhbmRsZTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5jYWxjdWxhdG9yLWRyYXdlci1oZWFkZXIge1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FsY3VsYXRvci1kcmF3ZXItYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8qICNlbmRyZWdpb24gKi9cblxuLyogI3JlZ2lvbiBGbG9hdGluZyBhY3Rpb24gYnV0dG9uICovXG5cbi5jYWxjdWxhdG9yLWZhYiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTA0NTsgLyogRkFCIG9mZmNhbnZhcy1iYWNrZHJvcCBsYXllciAqL1xuICBkaXNwbGF5OiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG5cbi5jYWxjdWxhdG9yLWZhYjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLmNhbGN1bGF0b3ItZmFiLnZpc2libGUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY2FsY3VsYXRvci1mYWItY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5jYWxjdWxhdG9yLWZhYi1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cblxuLyogI2VuZHJlZ2lvbiAqL1xuXG4vKiAjcmVnaW9uIElucHV0ICYgb3V0cHV0IGZpZWxkcyAqL1xuXG4uY2FsY3VsYXRvci1pbnB1dC1ncm91cCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jYWxjdWxhdG9yLWlucHV0LWdyb3VwLmVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1kYW5nZXIpICFpbXBvcnRhbnQ7XG59XG5cbm1hdGgtZmllbGQucGwtY2FsY3VsYXRvci1pbnB1dCB7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB1bnNldDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxubWF0aC1maWVsZC5wbC1jYWxjdWxhdG9yLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmlucHV0LWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDM4cHg7XG59XG5cbi5pbnB1dC1jb250YWluZXIgLmNhbGN1bGF0b3ItYWN0aW9uLWJ0bjpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1icy1kYW5nZXIpO1xufVxuXG4ub3V0cHV0LXBhbmVsIHtcbiAgbWluLWhlaWdodDogMjhweDtcbn1cblxubWF0aC1maWVsZC5wbC1jYWxjdWxhdG9yLW91dHB1dCB7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xufVxuXG5tYXRoLWZpZWxkLnBsLWNhbGN1bGF0b3Itb3V0cHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyogI2VuZHJlZ2lvbiAqL1xuXG4vKiAjcmVnaW9uIEhpc3RvcnkgcGFuZWwgKi9cblxuLmhpc3RvcnktcGFuZWwge1xuICBoZWlnaHQ6IDE1MHB4O1xufVxuXG4uaGlzdG9yeS1jb250ZW50IHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uaGlzdG9yeS1yb3cge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4uaGlzdG9yeS1yb3c6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy10ZXJ0aWFyeS1iZyk7XG59XG5cbm1hdGgtZmllbGQucGwtY2FsY3VsYXRvci1oaXN0b3J5LXRleHQge1xuICBoZWlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgYm9yZGVyOiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbm1hdGgtZmllbGQucGwtY2FsY3VsYXRvci1oaXN0b3J5LXRleHQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uY2FsY3VsYXRvci1hY3Rpb24tYnRuIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWJzLWdyYXktNTAwKTtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNhbGN1bGF0b3ItYWN0aW9uLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWdyYXktMzAwKTtcbiAgY29sb3I6IHZhcigtLWJzLWdyYXktNzAwKTtcbn1cblxuLmhpc3RvcnktYWN0aW9uLWJ0biB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLmhpc3RvcnktbW9kZS1iYWRnZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xufVxuXG4vKiAjZW5kcmVnaW9uICovXG5cbi8qICNyZWdpb24gS2V5Ym9hcmQgbGF5b3V0ICovXG5cbi5jYWxjdWxhdG9yLW1haW4ge1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBjYWxjdWxhdG9yO1xufVxuXG4udG9nZ2xlLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuXG4vKiBIaWRlIGFiYyBhbmQgZnVuYyBrZXlib2FyZHMgYnkgZGVmYXVsdCwgc2hvdyBvbmx5IG1haW4gKi9cbiNhYmMta2V5Ym9hcmQsXG4jZnVuYy1rZXlib2FyZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNtYWluLWtleWJvYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLyogU2hhcmVkIGtleWJvYXJkIGRpbWVuc2lvbnMgKi9cbiNtYWluLWtleWJvYXJkLFxuI2FiYy1rZXlib2FyZCxcbiNmdW5jLWtleWJvYXJkIHtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgZ2FwOiA1cHg7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLyogTWFrZSBidXR0b24gcm93cyBzdHJldGNoIHRvIGZpbGwgYXZhaWxhYmxlIGhlaWdodCAqL1xuLmJ0bi1yb3cge1xuICBmbGV4OiAxO1xufVxuXG4vKiBEb24ndCBzdHJldGNoIGFjdGlvbiBjb2x1bW4gYnV0dG9ucyBpbiBmdW5jIGtleWJvYXJkICovXG4jZnVuYy1rZXlib2FyZCAuY29sLWFjdGlvbiB7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xufVxuXG4vKiAjZW5kcmVnaW9uICovXG5cbi8qICNyZWdpb24gS2V5Ym9hcmQgYnV0dG9ucyAqL1xuXG4uYnRuLWtleS51cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4jbWFpbi1rZXlib2FyZCAuYnRuLFxuI2Z1bmMta2V5Ym9hcmQgLmJ0biB7XG4gIG1pbi13aWR0aDogNTBweDtcbiAgZmxleDogMTtcbiAgbWFyZ2luOiAzcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuI2FiYy1rZXlib2FyZCAuYnRuIHtcbiAgd2lkdGg6IDklO1xuICBtYXgtd2lkdGg6IDU1cHg7XG4gIG1pbi13aWR0aDogMzVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDNweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiB1bnNldDtcbn1cblxuI2FiYy1rZXlib2FyZCAuYnRuLXdpZGUge1xuICB3aWR0aDogMTElO1xuICBtYXgtd2lkdGg6IDcwcHg7XG59XG5cbiNhYmMta2V5Ym9hcmQgLmJ0bi1yb3cge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi8qIENoZXZyb24gbmF2aWdhdGlvbiBidXR0b25zICovXG4uY29sLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icy10ZXJ0aWFyeS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1icy1zZWNvbmRhcnktY29sb3IpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMtc20pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb2wtbmF2IHN2ZyB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG59XG5cbi5jb2wtbmF2OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTtcbiAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpO1xufVxuXG4vKiAjZW5kcmVnaW9uICovXG5cbi8qICNyZWdpb24gS2V5Ym9hcmQgY29sdW1uIHNpemluZyAmIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgKi9cblxuI21haW4ta2V5Ym9hcmQgLmNvbC1mdW5jdGlvbnMsXG4jbWFpbi1rZXlib2FyZCAuY29sLW51bWJlcnMge1xuICB3aWR0aDogMjgwcHg7XG59XG5cbiNtYWluLWtleWJvYXJkIC5jb2wtZXh0cmFzIHtcbiAgd2lkdGg6IDEzMHB4O1xufVxuXG4vKiBCcmVha3BvaW50OiBoaWRlIGZ1bmN0aW9ucyBjb2x1bW4sIHNob3cgY2hldnJvbiB0byB0b2dnbGUgKi9cbkBjb250YWluZXIgY2FsY3VsYXRvciAobWF4LXdpZHRoOiA3NDBweCkge1xuICAjbWFpbi1rZXlib2FyZCAuY29sLWZ1bmN0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgI21haW4ta2V5Ym9hcmQgLmNvbC1uYXYtbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICNtYWluLWtleWJvYXJkLnNob3ctZnVuY3Rpb25zIC5jb2wtZnVuY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgI21haW4ta2V5Ym9hcmQuc2hvdy1mdW5jdGlvbnMgLmNvbC1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgI21haW4ta2V5Ym9hcmQuc2hvdy1mdW5jdGlvbnMgLmNvbC1uYXYtbGVmdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjbWFpbi1rZXlib2FyZC5zaG93LWZ1bmN0aW9ucyAuY29sLW5hdi1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4jZnVuYy1rZXlib2FyZCAuY29sLXRyaWcsXG4jZnVuYy1rZXlib2FyZCAuY29sLW1hdGgge1xuICB3aWR0aDogMjQwcHg7XG59XG5cbiNmdW5jLWtleWJvYXJkIC5jb2wtYWN0aW9uIHtcbiAgd2lkdGg6IDgwcHg7XG59XG5cbiNmdW5jLWtleWJvYXJkIC5idG4ge1xuICBtaW4td2lkdGg6IDYwcHg7XG59XG5cbi8qIEJyZWFrcG9pbnQ6IGhpZGUgdHJpZyBjb2x1bW4sIHNob3cgY2hldnJvbiB0byB0b2dnbGUgKi9cbkBjb250YWluZXIgY2FsY3VsYXRvciAobWF4LXdpZHRoOiA1NjBweCkge1xuICAjZnVuYy1rZXlib2FyZCAuY29sLXRyaWcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICNmdW5jLWtleWJvYXJkIC5jb2wtbmF2LWxlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAjZnVuYy1rZXlib2FyZC5zaG93LXRyaWcgLmNvbC10cmlnIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgI2Z1bmMta2V5Ym9hcmQuc2hvdy10cmlnIC5jb2wtbWF0aCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gICNmdW5jLWtleWJvYXJkLnNob3ctdHJpZyAuY29sLW5hdi1sZWZ0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNmdW5jLWtleWJvYXJkLnNob3ctdHJpZyAuY29sLW5hdi1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4vKiAjZW5kcmVnaW9uICovXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBRUEsVUFBVSxDQUFDLG1CQUFtQixPQUFPO0FBQ3JDLFVBQVUsQ0FBQyxvQkFBb0IsT0FBTztBQUN0QyxVQUFVLENBQUMsMEJBQTBCLE9BQU87QUFDNUMsVUFBVSxDQUhDLG1CQUdtQixPQUFPO0FBQ3JDLFVBQVUsQ0FIQyxvQkFHb0IsT0FBTztBQUN0QyxVQUFVLENBSEMsMEJBRzBCLE9BQU87QUFDMUMsV0FBUztBQUNYO0FBUUEsVUFBVSxDQUFDO0FBQ1QsU0FBTztBQUNQLGlCQUFlLElBQUksSUFBSSxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQ3BDLHFCQUFtQjtBQUNuQixnQ0FBOEIsSUFBSSxJQUFJLE1BQU0sRUFBRSxHQUFHLEVBQUU7QUFDbkQseUNBQXVDLElBQUksSUFBSSxNQUFNLEVBQUUsR0FBRyxFQUFFO0FBQzVELDhCQUE0QixJQUFJLElBQUksTUFBTSxFQUFFLEdBQUcsRUFBRTtBQUNqRCxxQ0FBbUMsS0FBSyxJQUFJLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBRzlELDBDQUF3QyxLQUN0QyxxQ0FBcUMsRUFDckMsSUFBSSxJQUFJLE9BQU8sRUFBRSxHQUFHLEVBQUU7QUFFeEIsa0JBQWdCLElBQUksYUFBYSxFQUFFLElBQUksSUFBSSxPQUFPLEVBQUUsR0FBRyxFQUFFO0FBRXpELHNCQUFvQixJQUFJLGlCQUFpQixFQUFFO0FBQzNDLGlDQUErQixJ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 */
