Generated banner for Technical Wireframe Info Layout
Generated logo for Technical Wireframe Info Layout

Technical Wireframe Info Layout

Meng ToCommunityCreated by Meng To

  • Skill
  • Guidelines
  • Design and creative
  • MIT
  • Medium risk

From the author

Create a monochrome technical wireframe design system with exploded 3D structure, connector annotations, sparse information labels, and precise dark diagnostic framing.
— the description by Meng To

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a comprehensive design framework for building dark-themed, technical diagnostic interfaces. It focuses on creating a coherent visual language that combines exploded 3D wireframe models with precise, sparse information labels and diagnostic UI elements. The approach emphasizes a neutral monochrome palette, high-precision linework, and analytical spatial layouts to ensure the interface functions as a clear, readable system specification rather than decorative art.

What it does

  • Defines a monochrome visual hierarchy using black, charcoal, and white tones.
  • Provides patterns for exploded 3D wireframe structures and connector annotations.
  • Outlines diagnostic UI components like metric widgets and status indicators.
  • Establishes spatial layout rules for balancing wireframe objects with sparse information labels.
  • Suggests subtle motion behaviors for analytical, technical interfaces.
  • Offers tuning knobs to adjust object complexity and annotation density.

When to use it

  • When designing product teardown or system specification screens.
  • When building dark-themed technical dashboards.
  • When creating high-fidelity wireframe interfaces that require clear structural communication.
  • When the goal is to achieve a precise, engineering-focused aesthetic.

Advantages

  • Ensures a consistent, professional technical aesthetic.
  • Promotes high readability through sparse, intentional information placement.
  • Reduces visual noise by strictly limiting color and texture.
  • Provides clear guidance on balancing complex 3D structures with supporting UI.

Usage examples

“Design a system dashboard for a drone component teardown using the technical wireframe layout.”
The agent will generate a layout featuring a central exploded view of the drone, connected to side-anchored diagnostic tags and a bottom-aligned monochrome metric widget.
“How should I style the information labels for a server rack wireframe?”
The agent will advise using small, compact typography with thin routed lines connecting the labels to specific components, maintaining a sparse and diagnostic look.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/mengto/technical-wireframe-info-layout/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip technical-wireframe-info-layout.zip -d .agents/skills

Documentation by Meng To

Technical Wireframe Info Layout Skill

Use When

  • Create a monochrome technical wireframe design system with exploded 3D structure, connector annotations, sparse information labels, and precise dark diagnostic framing.

Workflow

Scope

  • Apply this as a full design-system direction across layout, typography, info labels, widgets, background structure, and the central visualization area.

  • Use it when the interface should feel like a dark technical diagnostic view, product teardown, systems dashboard, or wireframe specification screen.

  • This is not generic sci-fi decoration. The wireframe object, annotations, labels, and supporting UI should all feel like one coherent information layout.

Visual target

  • Build the page on a near-black monochrome foundation with subtle texture, low-contrast patterning, and very restrained tonal shifts.

  • Use an exploded or layered wireframe object as the main visual anchor, positioned like a structural diagram rather than a decorative hero mesh.

  • Pair that object with floating information labels, dashed or routed connector lines, and sparse metric callouts so the page reads like an annotated system view.

  • Keep the palette almost entirely neutral: black, charcoal, zinc, white, and gray. Emphasis should come from brightness, line weight, and spatial placement instead of strong color.

  • Let typography stay compact and technical, with small labels, utility copy, metric text, and only one or two larger heading moments.

Implementation guidance

  • Prefer a wide sparse layout with lots of open space around the wireframe object so the annotations and structure remain legible.

  • Use real WebGL, Three.js, SVG, or canvas linework when possible for the wireframe centerpiece instead of flat screenshots or filled 3D renders.

  • Build the object from outlined geometry, edges, torus/cylinder/cap layers, or modular parts that can separate slightly to suggest a system exploded into readable components.

  • Add floating info pills or small rounded labels near meaningful object regions, then connect them with thin routed lines or dashed paths.

  • Supporting UI should feel diagnostic and minimal: slim metric widgets, neutral progress bars, legend dots, timeline bars, or memory allocation readouts.

  • Motion should stay subtle and analytical: slow rotation, slight drift, staged label appearance, and gentle connector updates are appropriate.

  • Large right- or center-weighted wireframe object with heading and explanatory copy offset into a quiet corner.

  • Left-side or edge-anchored diagnostic tags with tiny status dots, metadata strings, and smooth connector paths to the main object.

  • Monochrome widget card at the bottom or side showing system allocation, legend rows, or timeline slices with low-contrast bars.

  • Halftone, dither, or faint technical pattern overlay that enriches the dark surface without overpowering the linework.

  • Sparse masked heading reveals and quiet typography that support the analytical mood.

Tuning knobs

  • Object complexity: add or reduce wireframe layers and exploded parts depending on how technical the model should feel.

  • Annotation density: keep enough labels to explain the structure, but avoid cluttering the composition with too many tags.

  • Contrast: push labels and key edges bright enough to read while preserving the dark subdued background.

  • Motion tempo: keep rotation and reveal timing calm so the interface feels precise rather than flashy.

  • Diagram clarity: use connector paths and spatial separation to make the structure intelligible at a glance.

Avoid

  • Filled glossy 3D renders that replace the wireframe diagnostic look.

  • Bright accent colors that break the monochrome engineering aesthetic.

  • Dense dashboard cards or marketing sections that compete with the annotated object.

  • Overloading the page with too many labels, lines, or widgets until the diagram becomes noisy.

  • Treating the wireframe centerpiece as unrelated background art instead of the core information structure.

Files

demo/index.html

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="neuform-sandboxed-demo" content="1">
  <meta http-equiv="Content-Security-Policy" content="default-src 'none'; connect-src 'self'; frame-src 'self'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; base-uri 'none'; form-action 'none'; object-src 'none'">
  <title>Sandboxed Neuform demo</title>
  <style>
    html, body, iframe { width: 100%; height: 100%; margin: 0; border: 0; }
    body { overflow: hidden; background: #0b0b0b; }
    iframe { display: block; background: white; }
    .error { box-sizing: border-box; min-height: 100%; padding: 32px; color: #fff; font: 16px/1.5 system-ui, sans-serif; }
  </style>
</head>
<body>
  <iframe id="neuform-demo" title="Sandboxed Neuform design demo" sandbox="allow-scripts" referrerpolicy="no-referrer"></iframe>
  <script>
    const encodedHtml = "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJpdHktUG9saWN5IiBjb250ZW50PSJkZWZhdWx0LXNyYyAnbm9uZSc7IGJhc2UtdXJpICdub25lJzsgY29ubmVjdC1zcmMgJ25vbmUnOyBmb250LXNyYyBkYXRhOiBodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tOyBmb3JtLWFjdGlvbiAnbm9uZSc7IGZyYW1lLXNyYyAnbm9uZSc7IGltZy1zcmMgYmxvYjo7IG1lZGlhLXNyYyBibG9iOjsgbmF2aWdhdGUtdG8gJ25vbmUnOyBvYmplY3Qtc3JjICdub25lJzsgc2NyaXB0LXNyYyAndW5zYWZlLWlubGluZScgX19ORVVGT1JNX1JVTlRJTUVfU09VUkNFU19fOyBzdHlsZS1zcmMgJ3Vuc2FmZS1pbmxpbmUnIGh0dHBzOi8vYXBpLmZvbnRzaGFyZS5jb20gaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbTsgd29ya2VyLXNyYyAnbm9uZSciPgo8c2NyaXB0IGRhdGEtbmV1Zm9ybS1hc3NldC1ib290c3RyYXA+CigoKSA9PiB7CiAgbGV0IHJlY2VpdmVkID0gZmFsc2U7CiAgY29uc3Qgb2JqZWN0VXJscyA9IFtdOwogIGNvbnN0IHJlcGxhY2VBbGwgPSAodmFsdWUsIHJlcGxhY2VtZW50cykgPT4gewogICAgbGV0IG5leHQgPSBTdHJpbmcodmFsdWUgfHwgIiIpOwogICAgZm9yIChjb25zdCBbZmlsZSwgb2JqZWN0VXJsXSBvZiByZXBsYWNlbWVudHMpIG5leHQgPSBuZXh0LnNwbGl0KGZpbGUpLmpvaW4ob2JqZWN0VXJsKTsKICAgIHJldHVybiBuZXh0OwogIH07CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCAoZXZlbnQpID0+IHsKICAgIGlmIChyZWNlaXZlZCB8fCBldmVudC5zb3VyY2UgIT09IHBhcmVudCB8fCBldmVudC5kYXRhPy50eXBlICE9PSAibmV1Zm9ybS1hc3NldHMtdjEiKSByZXR1cm47CiAgICByZWNlaXZlZCA9IHRydWU7CiAgICBjb25zdCByZXBsYWNlbWVudHMgPSBbXTsKICAgIGZvciAoY29uc3QgYXNzZXQgb2YgZXZlbnQuZGF0YS5hc3NldHMgfHwgW10pIHsKICAgICAgaWYgKCFhc3NldCB8fCB0eXBlb2YgYXNzZXQuZmlsZSAhPT0gInN0cmluZyIgfHwgdHlwZW9mIGFzc2V0LmJhc2U2NCAhPT0gInN0cmluZyIpIGNvbnRpbnVlOwogICAgICBjb25zdCBiaW5hcnkgPSBhdG9iKGFzc2V0LmJhc2U2NCk7CiAgICAgIGNvbnN0IGJ5dGVzID0gVWludDhBcnJheS5mcm9tKGJpbmFyeSwgKGNoYXJhY3RlcikgPT4gY2hhcmFjdGVyLmNoYXJDb2RlQXQoMCkpOwogICAgICBjb25zdCBvYmplY3RVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtieXRlc10sIHsgdHlwZTogYXNzZXQuY29udGVudFR5cGUgfHwgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgfSkpOwogICAgICBvYmplY3RVcmxzLnB1c2gob2JqZWN0VXJsKTsKICAgICAgcmVwbGFjZW1lbnRzLnB1c2goW2Fzc2V0LmZpbGUsIG9iamVjdFVybF0pOwogICAgfQogICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSkgewogICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgWyJzcmMiLCAicG9zdGVyIiwgInNyY3NldCIsICJzdHlsZSJdKSB7CiAgICAgICAgY29uc3QgdmFsdWUgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShuYW1lKTsKICAgICAgICBpZiAodmFsdWUpIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHJlcGxhY2VBbGwodmFsdWUsIHJlcGxhY2VtZW50cykpOwogICAgICB9CiAgICB9CiAgICBmb3IgKGNvbnN0IHN0eWxlIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIikpIHsKICAgICAgc3R5bGUudGV4dENvbnRlbnQgPSByZXBsYWNlQWxsKHN0eWxlLnRleHRDb250ZW50LCByZXBsYWNlbWVudHMpOwogICAgfQogIH0pOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsICgpID0+IHsKICAgIGZvciAoY29uc3Qgb2JqZWN0VXJsIG9mIG9iamVjdFVybHMpIFVSTC5yZXZva2VPYmplY3RVUkwob2JqZWN0VXJsKTsKICB9LCB7IG9uY2U6IHRydWUgfSk7Cn0pKCk7Cjwvc2NyaXB0PgoKPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPlN5c3RlbSBPbnRvbG9neSAvLyBEaWFnbm9zdGljIFZpZXc8L3RpdGxlPgogICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Fzc2V0cy9ydW50aW1lL3J1bnRpbWUtY2NjODg5NGIzNDE4LXJ1bnRpbWUuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Fzc2V0cy9ydW50aW1lL3J1bnRpbWUtMTYzZWJkMDg3Y2ZjLWljb25pZnktaWNvbi1taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Fzc2V0cy9ydW50aW1lL3J1bnRpbWUtMDI3MDUxZWZmYTQ3LWdzYXAtbWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9hc3NldHMvcnVudGltZS9ydW50aW1lLTY4OWNhOGRkYTQ0Yy1zY3JvbGx0cmlnZ2VyLW1pbi5qcyI+PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHkgY2xhc3M9ImJnLWJsYWNrIHRleHQtemluYy0zMDAgdy1zY3JlZW4gaC1zY3JlZW4gb3ZlcmZsb3ctaGlkZGVuIGZvbnQtc2FucyBzZWxlY3Qtbm9uZSBhbnRpYWxpYXNlZCByZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLTQgbGc6cC04IiBzdHlsZT0ic2Nyb2xsYmFyLXdpZHRoOiBub25lOyI+CgogICAgPCEtLSBCYWNrZ3JvdW5kIFN0cnVjdHVyZTogTW9ub2Nocm9tZSBUZWNobmljYWwgRGl0aGVyIE92ZXJsYXkgLS0+CiAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIHBvaW50ZXItZXZlbnRzLW5vbmUgei0wIG9wYWNpdHktWzAuMDNdIG1peC1ibGVuZC1zY3JlZW4iIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9wYWdlLTAxLWZhNTE5MDJiLWMyYTQtNGMzMy1hOTZlLWE4ZjFlZjY3ZWRjNi0xNjAwdy5qcGcnKTsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKSBjb250cmFzdCgyKTsiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBwb2ludGVyLWV2ZW50cy1ub25lIHotMCBvcGFjaXR5LTIwIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCg0NWRlZywgIzI3MjcyYSAwcHgsICMyNzI3MmEgMXB4LCB0cmFuc3BhcmVudCAxcHgsIHRyYW5zcGFyZW50IDhweCk7Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGluc2V0LTAgcG9pbnRlci1ldmVudHMtbm9uZSB6LTAgYmctW3JhZGlhbC1ncmFkaWVudChjaXJjbGVfYXRfY2VudGVyLHRyYW5zcGFyZW50XzAlLCMwMDAwMDBfMTAwJSldIj48L2Rpdj4KCiAgICA8IS0tIE1hc3RlciBHcmlkIEZyYW1lIC0tPgogICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgdy1mdWxsIG1heC13LVsxNjAwcHhdIGgtZnVsbCBmbGV4IGZsZXgtY29sIHotMTAiPgogICAgICAgIAogICAgICAgIDwhLS0gUHJlbWl1bSBHcmFkaWVudCBCb3JkZXIgV3JhcHBlciAoUmVzdHJhaW5lZCB0byBaaW5jKSAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIHJvdW5kZWQtc20gcG9pbnRlci1ldmVudHMtbm9uZSIgc3R5bGU9ImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC4wMSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuMDQpIDEwMCUpOyBwYWRkaW5nOiAxcHg7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idy1mdWxsIGgtZnVsbCBiZy16aW5jLTk1MC85NSBiYWNrZHJvcC1ibHVyLTN4bCByb3VuZGVkLXNtIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBJbm5lciBHcmlkIExheW91dCAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSB3LWZ1bGwgaC1mdWxsIGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTEyIGdyaWQtcm93cy1bYXV0b18xZnJfYXV0b10gZ2FwLTAgYm9yZGVyIGJvcmRlci16aW5jLTgwMC81MCI+CgogICAgICAgICAgICA8IS0tIEwtQnJhY2tldHMgZm9yIE1hc3RlciBGcmFtZSAtLT4KICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYWJzb2x1dGUgLXRvcC0xIC1sZWZ0LTEgdy00IGgtNCB0ZXh0LXppbmMtNTAwIiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSI+PHBhdGggZD0iTTQgMjBWNGgxNiI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJhYnNvbHV0ZSAtdG9wLTEgLXJpZ2h0LTEgdy00IGgtNCB0ZXh0LXppbmMtNTAwIiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSI+PHBhdGggZD0iTTIwIDIwVjRINCI+PC9wYXRoPjwvc3ZnPgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJhYnNvbHV0ZSAtYm90dG9tLTEgLWxlZnQtMSB3LTQgaC00IHRleHQtemluYy01MDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNCA0djE2aDE2Ij48L3BhdGg+PC9zdmc+CiAgICAgICAgICAgIDxzdmcgY2xhc3M9ImFic29sdXRlIC1ib3R0b20tMSAtcmlnaHQtMSB3LTQgaC00IHRleHQtemluYy01MDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNMjAgNHYxNkg0Ij48L3BhdGg+PC9zdmc+CgogICAgICAgICAgICA8IS0tIEdyaWQgTGluZXMgKEhvcml6b250YWwgLyBWZXJ0aWNhbCBib3VuZGFyaWVzKSAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNwYW4tMTIgcm93LXN0YXJ0LTIgYm9yZGVyLXQgYm9yZGVyLXppbmMtODAwLzUwIHBvaW50ZXItZXZlbnRzLW5vbmUgYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHJpZ2h0LTAgaC1weCI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zcGFuLTEyIHJvdy1zdGFydC0zIGJvcmRlci10IGJvcmRlci16aW5jLTgwMC81MCBwb2ludGVyLWV2ZW50cy1ub25lIGFic29sdXRlIHRvcC0wIGxlZnQtMCByaWdodC0wIGgtcHgiPjwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgPCEtLSBIZWFkZXIgKFJvdyAxKSAtLT4KICAgICAgICAgICAgPGhlYWRlciBjbGFzcz0iY29sLXNwYW4tMTIgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHB4LTYgbGc6cHgtMTAgcHktNSB6LTIwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgZ2FwLTEiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtemluYy01MDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aWNvbmlmeS1pY29uIGljb249InNvbGFyOm5ldHdvcmstbGluZWFyIiB3aWR0aD0iMTYiIHN0cm9rZS13aWR0aD0iMS41Ij48L2ljb25pZnktaWNvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1saWdodCB0cmFja2luZy13aWRlc3QgdXBwZXJjYXNlIj5TZW1hbnRpYy5OZXRfdjMuMTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3M9InRleHQtbGcgbGc6dGV4dC14bCBmb250LW5vcm1hbCB0cmFja2luZy10aWdodCB0ZXh0LXdoaXRlIHVwcGVyY2FzZSI+U3lzdGVtIE9udG9sb2d5PC9oMT4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZGRlbiBtZDpmbGV4IGdhcC0xMCB0ZXh0LXppbmMtNTAwIHRleHQteHMgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCBmb250LWxpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBob3Zlcjp0ZXh0LXdoaXRlIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTMwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3LTEuNSBoLTEuNSByb3VuZGVkLWZ1bGwgYmctemluYy03MDAiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VG9wb2xvZ3k8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC13aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3LTEuNSBoLTEuNSByb3VuZGVkLWZ1bGwgYmctd2hpdGUiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TG9naWMgTGF5ZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgaG92ZXI6dGV4dC13aGl0ZSBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0zMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idy0xLjUgaC0xLjUgcm91bmRlZC1mdWxsIGJnLXppbmMtNzAwIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkRhdGEgU3RyZWFtPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgZ2FwLTEuNSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBnYXAtMSBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LWxpZ2h0IHRyYWNraW5nLXdpZGVzdCB0ZXh0LXppbmMtNTAwIHVwcGVyY2FzZSBtci0yIj5Ob2RlIFN0cmVzczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xIGgtMyBiZy13aGl0ZSByb3VuZGVkLXNtIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xIGgtMyBiZy16aW5jLTQwMCByb3VuZGVkLXNtIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xIGgtMyBiZy16aW5jLTYwMCByb3VuZGVkLXNtIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xIGgtMyBiZy16aW5jLTgwMCByb3VuZGVkLXNtIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2hlYWRlcj4KCiAgICAgICAgICAgIDwhLS0gTWFpbiBEaWFncmFtIEFyZWEgKENlbnRlciwgc3Bhbm5pbmcgcm93cykgLS0+CiAgICAgICAgICAgIDxtYWluIGNsYXNzPSJjb2wtc3Bhbi0xMiBtZDpjb2wtc3Bhbi04IGxnOmNvbC1zcGFuLTkgYm9yZGVyLXIgYm9yZGVyLXppbmMtODAwLzUwIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBiZy1ibGFjay8yMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIHctZnVsbCBoLWZ1bGwgbWF4LXctWzEwMDBweF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9InctZnVsbCBoLWZ1bGwgbWluLWgtWzYwMHB4XSBvdmVyZmxvdy12aXNpYmxlIiB2aWV3Qm94PSIwIDAgMTAwMCA4MDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDZW50ZXIgWi1BeGlzIEJsdWVwcmludCBMaW5lIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNTAwIiB5MT0iMTIwIiB4Mj0iNTAwIiB5Mj0iNzMwIiBzdHJva2U9IiMyNzI3MmEiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWRhc2hhcnJheT0iMiA0IiAvPgoKICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Im9udG9sb2d5LWxheWVycyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgMTogU291cmNlIE5vZGVzIChCb3R0b20pIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xhc3M9ImxheWVyIiBkYXRhLXk9IjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gU3RydWN0dXJhbCBJc28gTWVzaCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBwb2ludHM9IjIwMCw2ODAgNTAwLDc4MCA4MDAsNjgwIDUwMCw1ODAiIGZpbGw9InJnYmEoMjQsMjQsMjcsMC4zKSIgc3Ryb2tlPSIjM2YzZjQ2IiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyMzAsNjgwIDUwMCw3NzAgNzcwLDY4MCA1MDAsNTkwIiBmaWxsPSJub25lIiBzdHJva2U9IiMyNzI3MmEiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWRhc2hhcnJheT0iMiAyIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gSW50ZXJuYWwgY3Jvc3NoYWlyIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI1MDAiIHkxPSI1ODAiIHgyPSI1MDAiIHkyPSI3ODAiIHN0cm9rZT0iIzNmM2Y0NiIgc3Ryb2tlLXdpZHRoPSIwLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEgMyIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIyMDAiIHkxPSI2ODAiIHgyPSI4MDAiIHkyPSI2ODAiIHN0cm9rZT0iIzNmM2Y0NiIgc3Ryb2tlLXdpZHRoPSIwLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjEgMyIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUGh5c2ljYWwgU3RvcmFnZSBOb2RlcyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTAsIDY1MCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBjeD0iMCIgY3k9Ii0yMCIgcng9IjIwIiByeT0iMTAiIGZpbGw9IiMwOTA5MGIiIHN0cm9rZT0iIzcxNzE3YSIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNLTIwLC0yMCB2MjAgYTIwLDEwIDAgMCwwIDQwLDAgdi0yMCIgZmlsbD0iIzA5MDkwYiIgc3Ryb2tlPSIjNzE3MTdhIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9IjIyIiBjbGFzcz0idGV4dC14cyBmb250LW1vbm8gZmlsbC16aW5jLTUwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+U1JDXzAxPC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MDAsIDcxMCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBjeD0iMCIgY3k9Ii0yMCIgcng9IjIwIiByeT0iMTAiIGZpbGw9IiMwOTA5MGIiIHN0cm9rZT0iIzcxNzE3YSIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNLTIwLC0yMCB2MjAgYTIwLDEwIDAgMCwwIDQwLDAgdi0yMCIgZmlsbD0iIzA5MDkwYiIgc3Ryb2tlPSIjNzE3MTdhIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9IjIyIiBjbGFzcz0idGV4dC14cyBmb250LW1vbm8gZmlsbC16aW5jLTUwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+U1JDXzAyPC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NTAsIDY1MCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBjeD0iMCIgY3k9Ii0yMCIgcng9IjIwIiByeT0iMTAiIGZpbGw9IiMwOTA5MGIiIHN0cm9rZT0iIzcxNzE3YSIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNLTIwLC0yMCB2MjAgYTIwLDEwIDAgMCwwIDQwLDAgdi0yMCIgZmlsbD0iIzA5MDkwYiIgc3Ryb2tlPSIjNzE3MTdhIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9IjIyIiBjbGFzcz0idGV4dC14cyBmb250LW1vbm8gZmlsbC16aW5jLTUwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+U1JDXzAzPC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIERhdGEgU3RyZWFtIENvbm5lY3RvcnMgTDEgdG8gTDIgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGFzcz0idmVydGljYWwtbGlua3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTAsNjMwIFE0MjUsNTUwIDQyMCw0NDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzUyNTI1YiIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtZGFzaGFycmF5PSIyIDQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUwMCw2OTAgUTUwMCw2MDAgNTAwLDQ3MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNTI1MjViIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1kYXNoYXJyYXk9IjIgNCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjUwLDYzMCBRNTc1LDU1MCA1ODAsNDQwIiBmaWxsPSJub25lIiBzdHJva2U9IiM1MjUyNWIiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWRhc2hhcnJheT0iMiA0IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgMjogQ29udGV4dHVhbCBXaXJlZnJhbWUgLyBMb2dpYyBMYXllciAoTWlkZGxlKSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsYXNzPSJsYXllciIgZGF0YS15PSIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFN0cnVjdHVyYWwgSXNvIE1lc2ggLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxNTAsNDUwIDUwMCw1NjAgODUwLDQ1MCA1MDAsMzQwIiBmaWxsPSJyZ2JhKDM5LDM5LDQyLDAuMTUpIiBzdHJva2U9IiM1MjUyNWIiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBwb2ludHM9IjE4MCw0NTAgNTAwLDU1MCA4MjAsNDUwIDUwMCwzNTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzNmM2Y0NiIgc3Ryb2tlLXdpZHRoPSIwLjUiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBMb2dpYyBFZGdlcyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGFzcz0iZ3JhcGgtZWRnZXMiIHN0cm9rZT0iIzUyNTI1YiIgc3Ryb2tlLXdpZHRoPSIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjM0MCIgeTE9IjQyMCIgeDI9IjQyMCIgeTI9IjQ0MCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjQyMCIgeTE9IjQ0MCIgeDI9IjUwMCIgeTI9IjQ3MCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUwMCIgeTE9IjQ3MCIgeDI9IjU4MCIgeTI9IjQ0MCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjU4MCIgeTE9IjQ0MCIgeDI9IjY2MCIgeTI9IjQyMCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjQyMCIgeTE9IjQ0MCIgeDI9IjUwMCIgeTI9IjM5MCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjU4MCIgeTE9IjQ0MCIgeDI9IjUwMCIgeTI9IjM5MCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjM0MCIgeTE9IjQyMCIgeDI9IjUwMCIgeTI9IjM5MCIgc3Ryb2tlLWRhc2hhcnJheT0iMSAzIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNjYwIiB5MT0iNDIwIiB4Mj0iNTAwIiB5Mj0iMzkwIiBzdHJva2UtZGFzaGFycmF5PSIxIDMiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFJlbGF0aW9uYWwgTm9kZXMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMzQwIiBjeT0iNDIwIiByPSI0IiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiNhMWExYWEiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCB4PSIzNDAiIHk9IjQ0MCIgY2xhc3M9InRleHQteHMgZm9udC1tb25vIGZpbGwtemluYy00MDAiIHRleHQtYW5jaG9yPSJtaWRkbGUiPk5PREVfQTwvdGV4dD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSI0MjAiIGN5PSI0NDAiIHI9IjYiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iI2Q0ZDRkOCIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjQyMCIgeT0iNDY1IiBjbGFzcz0idGV4dC14cyBmb250LW1vbm8gZmlsbC16aW5jLTMwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+Tk9ERV9CPC90ZXh0PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENlbnRyYWwgQ29yZSBPYmplY3QgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAwLCA0NzApIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjgiIGZpbGw9IiNlNGU0ZTciIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzE3MTdhIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1kYXNoYXJyYXk9IjIgMiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMCIgY3k9IjAiIHI9IjIyIiBmaWxsPSJub25lIiBzdHJva2U9IiMzZjNmNDYiIHN0cm9rZS13aWR0aD0iMC41IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCB4PSIwIiB5PSIzNiIgY2xhc3M9InRleHQteHMgZm9udC1tb25vIGZpbGwtd2hpdGUiIHRleHQtYW5jaG9yPSJtaWRkbGUiPklOREVYX0NPUkU8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSI1ODAiIGN5PSI0NDAiIHI9IjYiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iI2Q0ZDRkOCIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjU4MCIgeT0iNDY1IiBjbGFzcz0idGV4dC14cyBmb250LW1vbm8gZmlsbC16aW5jLTMwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+Tk9ERV9DPC90ZXh0PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSI2NjAiIGN5PSI0MjAiIHI9IjQiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iI2ExYTFhYSIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjY2MCIgeT0iNDQwIiBjbGFzcz0idGV4dC14cyBmb250LW1vbm8gZmlsbC16aW5jLTQwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+Tk9ERV9EPC90ZXh0PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSI1MDAiIGN5PSIzOTAiIHI9IjQiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iI2ExYTFhYSIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjUwMCIgeT0iMzc1IiBjbGFzcz0idGV4dC14cyBmb250LW1vbm8gZmlsbC16aW5jLTQwMCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+TUVUQV9SRUY8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBWZXJ0aWNhbCBDb25uZWN0b3JzIEwyIHRvIEwzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xhc3M9InZlcnRpY2FsLWxpbmtzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDIwLDQ0MCBMNDQwLDI2MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzE3MTdhIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1kYXNoYXJyYXk9IjIgNiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTAwLDQ3MCBMNTAwLDI4MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYTFhMWFhIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTU4MCw0NDAgTDU2MCwyNjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzcxNzE3YSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtZGFzaGFycmF5PSIyIDYiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBMQVlFUiAzOiBPdXRwdXQgVG9wb2xvZ3kgKFRvcCkgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGFzcz0ibGF5ZXIiIGRhdGEteT0iMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTdHJ1Y3R1cmFsIElzbyBNZXNoIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjUwLDI1MCA1MDAsMzIwIDc1MCwyNTAgNTAwLDE4MCIgZmlsbD0icmdiYSg2Myw2Myw3MCwwLjA1KSIgc3Ryb2tlPSIjNzE3MTdhIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNzAsMjUwIDUwMCwzMTQgNzMwLDI1MCA1MDAsMTg2IiBmaWxsPSJub25lIiBzdHJva2U9IiM1MjUyNWIiIHN0cm9rZS13aWR0aD0iMC41IiBzdHJva2UtZGFzaGFycmF5PSIxIDIiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBGbG9hdGluZyBQcm9jZXNzIFJlcHJlc2VudGF0aW9ucyAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NDAsIDI2MCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSItMTUiIHk9Ii0xMCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjIwIiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiNhMWExYWEiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9Ii0xMCIgeTE9Ii0yIiB4Mj0iMTAiIHkyPSItMiIgc3Ryb2tlPSIjNTI1MjViIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSItMTAiIHkxPSIyIiB4Mj0iNSIgeTI9IjIiIHN0cm9rZT0iIzUyNTI1YiIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAwLCAyODApIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIwLC0xNSAxNSwwIDAsMTUgLTE1LDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2U0ZTRlNyIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSItMyIgeT0iLTMiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIGZpbGw9IiNlNGU0ZTciIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIwIiB5MT0iLTE1IiB4Mj0iMCIgeTI9Ii0yNSIgc3Ryb2tlPSIjZTRlNGU3IiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjAiIHk9IjMyIiBjbGFzcz0idGV4dC14cyBmb250LW1vbm8gZmlsbC13aGl0ZSIgdGV4dC1hbmNob3I9Im1pZGRsZSI+UFJPQ0VTU19FTkdJTkU8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NjAsIDI2MCkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSItMTUiIHk9Ii0xMCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjIwIiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiNhMWExYWEiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTS0xMCw1IEwtNSwwIEwwLDMgTDEwLC01IiBmaWxsPSJub25lIiBzdHJva2U9IiNhMWExYWEiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNwYXJzZSBEaWFnbm9zdGljIEluZm8gUGlsbHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJhbm5vdGF0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFOTk9UQVRJT046IEV4ZWN1dGlvbiBFbmdpbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGFzcz0iYW5ub3QtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBSb3V0ZWQgTGluZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz0iYW5ub3QtbGluZSIgZD0iTSA1MjAgMjcwIEwgNjYwIDI3MCBMIDcxMCAyMDAgTCA3ODAgMjAwIiBmaWxsPSJub25lIiBzdHJva2U9IiNhMWExYWEiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVqb2luPSJiZXZlbCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSI1MjAiIGN5PSIyNzAiIHI9IjIiIGZpbGw9IiNmZmZmZmYiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iNzc4IiB5PSIxOTgiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIGZpbGw9IiNhMWExYWEiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQaWxsIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9Ijc5MCIgeT0iMTg1IiB3aWR0aD0iMTY1IiBoZWlnaHQ9IjMwIiByeD0iMiIgZmlsbD0iIzA5MDkwYiIgc3Ryb2tlPSIjM2YzZjQ2IiBzdHJva2Utd2lkdGg9IjEiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dCB4PSI4MDAiIHk9IjE5OSIgY2xhc3M9InRleHQteHMgZm9udC1saWdodCB0cmFja2luZy13aWRlc3QgdXBwZXJjYXNlIGZpbGwtemluYy0yMDAiIHRleHQtYW5jaG9yPSJzdGFydCI+UnVudGltZSBPdXRwdXQ8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iODAwIiB5PSIyMTAiIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtbW9ubyBmaWxsLXppbmMtNTAwIiB0ZXh0LWFuY2hvcj0ic3RhcnQiPk9CSl9DT01QSUxFRDwvdGV4dD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEFOTk9UQVRJT046IFN0cnVjdHVyYWwgQWxpZ25tZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xhc3M9ImFubm90LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUm91dGVkIExpbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImFubm90LWxpbmUiIGQ9Ik0gMzMwIDQyMCBMIDI1MCA0MjAgTCAxOTAgMzUwIEwgMTIwIDM1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzE3MTdhIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMzMwIiBjeT0iNDIwIiByPSIyIiBmaWxsPSIjYTFhMWFhIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjExOCIgeT0iMzQ4IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNzE3MTdhIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUGlsbCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSItNTUiIHk9IjMzNSIgd2lkdGg9IjE2NSIgaGVpZ2h0PSIzMCIgcng9IjIiIGZpbGw9IiMwOTA5MGIiIHN0cm9rZT0iIzNmM2Y0NiIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iMTAwIiB5PSIzNDkiIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtbGlnaHQgdHJhY2tpbmctd2lkZXN0IHVwcGVyY2FzZSBmaWxsLXppbmMtMjAwIiB0ZXh0LWFuY2hvcj0iZW5kIj5HcmFwaCBSZXNvbHV0aW9uPC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0IHg9IjEwMCIgeT0iMzYwIiBjbGFzcz0idGV4dC14cyBmb250LW1vbm8gZmlsbC16aW5jLTUwMCIgdGV4dC1hbmNob3I9ImVuZCI+RURHRV9NQVBQSU5HPC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQU5OT1RBVElPTjogU3RvcmFnZSBCYXNlIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xhc3M9ImFubm90LWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUm91dGVkIExpbmUgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9ImFubm90LWxpbmUiIGQ9Ik0gNjcwIDY1MCBMIDc2MCA2NTAgTCA4MDAgNzAwIEwgODcwIDcwMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNTI1MjViIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iNjcwIiBjeT0iNjUwIiByPSIyIiBmaWxsPSIjNzE3MTdhIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9Ijg2OCIgeT0iNjk4IiB3aWR0aD0iNCIgaGVpZ2h0PSI0IiBmaWxsPSIjNTI1MjViIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUGlsbCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSI4ODAiIHk9IjY4NSIgd2lkdGg9IjE2NSIgaGVpZ2h0PSIzMCIgcng9IjIiIGZpbGw9IiMwOTA5MGIiIHN0cm9rZT0iIzNmM2Y0NiIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iODkwIiB5PSI2OTkiIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtbGlnaHQgdHJhY2tpbmctd2lkZXN0IHVwcGVyY2FzZSBmaWxsLXppbmMtNDAwIiB0ZXh0LWFuY2hvcj0ic3RhcnQiPlBoeXNpY2FsIFN0b3JhZ2U8L3RleHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iODkwIiB5PSI3MTAiIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtbW9ubyBmaWxsLXppbmMtNjAwIiB0ZXh0LWFuY2hvcj0ic3RhcnQiPlBBUlRJVElPTl9MT0NLPC90ZXh0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgICAgICA8L2c+CgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvbWFpbj4KCiAgICAgICAgICAgIDwhLS0gUmlnaHQgVGVsZW1ldHJ5IFBhbmVsIChTY3JvbGxhYmxlIGZvciBSZXZlYWwpIC0tPgogICAgICAgICAgICA8YXNpZGUgY2xhc3M9ImhpZGRlbiBtZDpmbGV4IGNvbC1zcGFuLTQgbGc6Y29sLXNwYW4tMyBmbGV4LWNvbCBiZy16aW5jLTk1MC84MCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCBvdmVyZmxvdy15LWF1dG8gbm8tc2Nyb2xsYmFyIHNjcm9sbC1zbW9vdGggcC02IHBiLTIwIiBpZD0ic2Nyb2xsLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPCEtLSBNYXNrZWQgRXhwbGFuYXRvcnkgUmV2ZWFsIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgZ2FwLTQgbWItMTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBib3JkZXItYiBib3JkZXItemluYy04MDAgcGItMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEuNSBoLTEuNSBiZy16aW5jLTUwMCI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQteHMgZm9udC1saWdodCB0cmFja2luZy13aWRlc3QgdGV4dC16aW5jLTUwMCB1cHBlcmNhc2UiPkFyY2hpdGVjdHVyYWwgT3V0cHV0PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIGxnOnRleHQtc20gZm9udC1saWdodCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC16aW5jLTMwMCIgaWQ9InJldmVhbC10ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBjZW50cmFsIHdpcmVmcmFtZSBvcmNoZXN0cmF0ZXMgZGlzcGVyc2VkIHN0cnVjdHVyYWwgZWxlbWVudHMgaW50byBhIHVuaWZpZWQgdGVjaG5pY2FsIG92ZXJsYXkuIFRoaXMgc3lzdGVtaWMgYWxpZ25tZW50IG5ldXRyYWxpemVzIGRlcGVuZGVuY3kgbWlzbWF0Y2hlcywgc2VjdXJlbHkgbWFwcyBsb2dpY2FsIGludGVyc2VjdGlvbnMsIGFuZCBjb250aW51b3VzbHkgcHJvdmlzaW9ucyBkYXRhIGZvciBkb3duc3RyZWFtIHRlbGVtZXRyeSBtb2RlbHMuCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBIYXJkd2FyZSAvIEFsbG9jYXRpb24gV2lkZ2V0cyAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIGdhcC02IG1iLTE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtbGlnaHQgdHJhY2tpbmctd2lkZXN0IHRleHQtemluYy01MDAgdXBwZXJjYXNlIGJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBwYi0yIj5NZW1vcnkgQWxsb2NhdGlvbjwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIGdhcC01Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgZ2FwLTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQteHMgZm9udC1saWdodCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQtemluYy00MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Ob2RlcyBBY3RpdmU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LW1vbm8gdGV4dC16aW5jLTIwMCI+MTIuNE08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy1mdWxsIGgtMSBiZy16aW5jLTkwMCBib3JkZXIgYm9yZGVyLXppbmMtODAwIG92ZXJmbG93LWhpZGRlbiByZWxhdGl2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIHRvcC0wIGxlZnQtMCBoLWZ1bGwgYmctW3JlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcsI2ExYTFhYV8wcHgsI2ExYTFhYV8ycHgsdHJhbnNwYXJlbnRfMnB4LHRyYW5zcGFyZW50XzRweCldIHctWzg1JV0gYm9yZGVyLXIgYm9yZGVyLXppbmMtNDAwIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgZ2FwLTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQteHMgZm9udC1saWdodCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQtemluYy00MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5HcmFwaCBMYXllcnM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb250LW1vbm8gdGV4dC16aW5jLTIwMCI+TFZMIDA4PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctZnVsbCBoLTEgYmctemluYy05MDAgYm9yZGVyIGJvcmRlci16aW5jLTgwMCBvdmVyZmxvdy1oaWRkZW4gcmVsYXRpdmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSB0b3AtMCBsZWZ0LTAgaC1mdWxsIGJnLVtyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCM1MjUyNWJfMHB4LCM1MjUyNWJfMnB4LHRyYW5zcGFyZW50XzJweCx0cmFuc3BhcmVudF80cHgpXSB3LVs2MCVdIGJvcmRlci1yIGJvcmRlci16aW5jLTUwMCI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gUGlwZWxpbmUgVGVsZW1ldHJ5IFdpZGdldCAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIGdhcC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtbGlnaHQgdHJhY2tpbmctd2lkZXN0IHRleHQtemluYy01MDAgdXBwZXJjYXNlIGJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBwYi0yIj5EaWFnbm9zdGljIFN0cmVhbTwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgZ2FwLTIgdGV4dC14cyBmb250LW1vbm8gdHJhY2tpbmctd2lkZXIgb3BhY2l0eS04MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXppbmMtNTAwIGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+VC0wMDoxMjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSI+PGRpdiBjbGFzcz0idy0xIGgtMSBiZy16aW5jLTYwMCI+PC9kaXY+IEJJTkRfU09VUkNFX0RBVEE8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtemluYy00MDAgaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5ULTAwOjEzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41Ij48ZGl2IGNsYXNzPSJ3LTEgaC0xIGJnLXppbmMtNTAwIj48L2Rpdj4gQUxJR05fRU5USVRJRVM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtemluYy0yMDAgaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5ULTAwOjE0PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IGJvcmRlciBib3JkZXItemluYy03MDAgcHgtMS41IHB5LTAuNSBiZy16aW5jLTkwMCI+PGRpdiBjbGFzcz0idy0xIGgtMSBiZy13aGl0ZSBhbmltYXRlLXB1bHNlIj48L2Rpdj4gQ09NUElMRV9FREdFUzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC16aW5jLTYwMCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlQtMDA6MTU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUiPjxkaXYgY2xhc3M9InctMSBoLTEgYmctemluYy03MDAiPjwvZGl2PiBXUklURV9JTkRFWDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC16aW5jLTYwMCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlQtMDA6MTY8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUiPjxkaXYgY2xhc3M9InctMSBoLTEgYmctemluYy03MDAiPjwvZGl2PiBTWVNURU1fSURMRTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8IS0tIFNjcm9sbCBjdWUgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtMjAgZmxleCBqdXN0aWZ5LWNlbnRlciBvcGFjaXR5LTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGljb25pZnktaWNvbiBpY29uPSJzb2xhcjptb3VzZS1jaXJjbGUtbGluZWFyIiB3aWR0aD0iMjAiPjwvaWNvbmlmeS1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2FzaWRlPgoKICAgICAgICAgICAgPCEtLSBGb290ZXIgVG9vbGJhciAoUm93IDMpIC0tPgogICAgICAgICAgICA8Zm9vdGVyIGNsYXNzPSJjb2wtc3Bhbi0xMiBweC02IGxnOnB4LTEwIHB5LTQgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHotMjAiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyI+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idy04IGgtOCBib3JkZXIgYm9yZGVyLXppbmMtODAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtemluYy01MDAgaG92ZXI6dGV4dC13aGl0ZSBob3Zlcjpib3JkZXItemluYy01MDAgdHJhbnNpdGlvbi1jb2xvcnMgYmctYmxhY2svNTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aWNvbmlmeS1pY29uIGljb249InNvbGFyOm1hcC1saW5lYXIiIHdpZHRoPSIxNiI+PC9pY29uaWZ5LWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idy04IGgtOCBib3JkZXIgYm9yZGVyLXppbmMtNjAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtd2hpdGUgYmctemluYy05MDAgdHJhbnNpdGlvbi1jb2xvcnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8aWNvbmlmeS1pY29uIGljb249InNvbGFyOmV5ZS1saW5lYXIiIHdpZHRoPSIxNiI+PC9pY29uaWZ5LWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtMyBwbC0zIGJvcmRlci1sIGJvcmRlci16aW5jLTgwMCBmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1tb25vIHRleHQtemluYy01MDAiPlZJRVdfTU9ERTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1saWdodCB0cmFja2luZy13aWRlciB0ZXh0LXppbmMtMzAwIHVwcGVyY2FzZSI+V2lyZWZyYW1lPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuIG1kOmZsZXggaXRlbXMtY2VudGVyIGdhcC00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIGZvbnQtbW9ubyB0ZXh0LXppbmMtNjAwIHRyYWNraW5nLXdpZGVzdCBmbGV4IGdhcC00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+U1lTX1VQOiA5OS45JTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TEFURU5DWTogMTJNUzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZ2FwLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlciBib3JkZXItemluYy04MDAgcHgtNCBweS0xLjUgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC14cyB0ZXh0LXppbmMtMzAwIGJnLWJsYWNrLzUwIGhvdmVyOmJvcmRlci16aW5jLTUwMCBob3Zlcjp0ZXh0LXdoaXRlIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tY29sb3JzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGljb25pZnktaWNvbiBpY29uPSJzb2xhcjpjcHUtYm9sdC1saW5lYXIiIHdpZHRoPSIxNCI+PC9pY29uaWZ5LWljb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0cmFja2luZy13aWRlciB1cHBlcmNhc2UgZm9udC1saWdodCI+SW5pdGlhbGl6ZSBMb2dpYzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Zvb3Rlcj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIEludGVyYWN0aXZpdHkgJiBBbmltYXRpb25zIC0tPgogICAgPHN0eWxlPgogICAgICAgIC5uby1zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgZGlzcGxheTogbm9uZTsgfQogICAgICAgIC5uby1zY3JvbGxiYXIgeyAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IHNjcm9sbGJhci13aWR0aDogbm9uZTsgfQogICAgICAgIC53b3JkLXdyYXAgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG92ZXJmbG93OiBoaWRkZW47IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH0KICAgICAgICAud29yZC1pbm5lciB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9CiAgICA8L3N0eWxlPgoKICAgIDxzY3JpcHQ+CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsICgpID0+IHsKICAgICAgICAgICAgZ3NhcC5yZWdpc3RlclBsdWdpbihTY3JvbGxUcmlnZ2VyKTsKCiAgICAgICAgICAgIC8vIDEuIEluaXRpYWwgU1ZHIERpYWdyYW0gQnVpbGQgU2VxdWVuY2UgKERpYWdub3N0aWMgU3RhZ2UpCiAgICAgICAgICAgIGNvbnN0IHRsID0gZ3NhcC50aW1lbGluZSh7IGRlbGF5OiAwLjIgfSk7CgogICAgICAgICAgICAvLyBBbmltYXRlIGNvbm5lY3RvciBsaW5lcwogICAgICAgICAgICBjb25zdCBhbm5vdExpbmVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFubm90LWxpbmUsIC52ZXJ0aWNhbC1saW5rcyBwYXRoJyk7CiAgICAgICAgICAgIGFubm90TGluZXMuZm9yRWFjaChsaW5lID0+IHsKICAgICAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IGxpbmUuZ2V0VG90YWxMZW5ndGgoKTsKICAgICAgICAgICAgICAgIGxpbmUuc3R5bGUuc3Ryb2tlRGFzaGFycmF5ID0gbGVuZ3RoOwogICAgICAgICAgICAgICAgbGluZS5zdHlsZS5zdHJva2VEYXNob2Zmc2V0ID0gbGVuZ3RoOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFN0YWdlIDE6IEJ1aWxkIGxheWVycyBzdHJ1Y3R1cmUKICAgICAgICAgICAgdGwuZnJvbVRvKCIubGF5ZXIiLCAKICAgICAgICAgICAgICAgIHsgeTogNDAsIHNjYWxlOiAwLjk1LCBvcGFjaXR5OiAwLCByb3RhdGlvblg6IDIgfSwKICAgICAgICAgICAgICAgIHsgeTogMCwgc2NhbGU6IDEsIG9wYWNpdHk6IDEsIHJvdGF0aW9uWDogMCwgZHVyYXRpb246IDEuNCwgc3RhZ2dlcjogMC4yLCBlYXNlOiAicG93ZXIzLm91dCIgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgLy8gU3RhZ2UgMjogRXN0YWJsaXNoIHZlcnRpY2FsIHJvdXRlcwogICAgICAgICAgICB0bC50bygiLnZlcnRpY2FsLWxpbmtzIHBhdGgiLAogICAgICAgICAgICAgICAgeyBzdHJva2VEYXNob2Zmc2V0OiAwLCBkdXJhdGlvbjogMSwgc3RhZ2dlcjogMC4xLCBlYXNlOiAicG93ZXIxLmluT3V0IiB9LAogICAgICAgICAgICAgICAgIi09MC44IgogICAgICAgICAgICApOwoKICAgICAgICAgICAgLy8gU3RhZ2UgMzogUHJvamVjdCBhbm5vdGF0aW9uIGxpbmVzCiAgICAgICAgICAgIHRsLnRvKCIuYW5ub3QtbGluZSIsIAogICAgICAgICAgICAgICAgeyBzdHJva2VEYXNob2Zmc2V0OiAwLCBkdXJhdGlvbjogMC44LCBzdGFnZ2VyOiAwLjE1LCBlYXNlOiAicG93ZXIyLmluT3V0IiB9LAogICAgICAgICAgICAgICAgIi09MC40IgogICAgICAgICAgICApOwogICAgICAgICAgICAKICAgICAgICAgICAgLy8gU3RhZ2UgNDogUmVuZGVyIGRpYWdub3N0aWMgcGlsbHMKICAgICAgICAgICAgdGwuZnJvbVRvKCIuYW5ub3QtaXRlbSByZWN0LCAuYW5ub3QtaXRlbSB0ZXh0LCAuYW5ub3QtaXRlbSBjaXJjbGUiLAogICAgICAgICAgICAgICAgeyBvcGFjaXR5OiAwIH0sCiAgICAgICAgICAgICAgICB7IG9wYWNpdHk6IDEsIGR1cmF0aW9uOiAwLjUsIHN0YWdnZXI6IDAuMDUsIGVhc2U6ICJwb3dlcjEub3V0IiB9LAogICAgICAgICAgICAgICAgIi09MC40IgogICAgICAgICAgICApOwoKICAgICAgICAgICAgLy8gU3VidGxlIGFuYWx5dGljYWwgZHJpZnQgKHdpcmVmcmFtZSByb3RhdGlvbikKICAgICAgICAgICAgZ3NhcC50bygiI29udG9sb2d5LWxheWVycyIsIHsKICAgICAgICAgICAgICAgIHJvdGF0aW9uWTogMSwKICAgICAgICAgICAgICAgIHJvdGF0aW9uWDogMC41LAogICAgICAgICAgICAgICAgeTogLTQsCiAgICAgICAgICAgICAgICBkdXJhdGlvbjogNiwKICAgICAgICAgICAgICAgIHJlcGVhdDogLTEsCiAgICAgICAgICAgICAgICB5b3lvOiB0cnVlLAogICAgICAgICAgICAgICAgZWFzZTogInNpbmUuaW5PdXQiLAogICAgICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAiY2VudGVyIGNlbnRlciIKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvLyAyLiBNYXNrZWQgV29yZCBSZXZlYWwgb24gU2Nyb2xsCiAgICAgICAgICAgIGNvbnN0IHRleHRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXZlYWwtdGV4dCcpOwogICAgICAgICAgICBpZih0ZXh0RWwpIHsKICAgICAgICAgICAgICAgIGNvbnN0IHdvcmRzID0gdGV4dEVsLmlubmVyVGV4dC5zcGxpdCgnICcpOwogICAgICAgICAgICAgICAgdGV4dEVsLmlubmVySFRNTCA9ICcnOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB3b3Jkcy5mb3JFYWNoKHdvcmQgPT4gewogICAgICAgICAgICAgICAgICAgIGNvbnN0IHdyYXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CiAgICAgICAgICAgICAgICAgICAgd3JhcC5jbGFzc05hbWUgPSAnd29yZC13cmFwIG1yLTEnOwogICAgICAgICAgICAgICAgICAgIGNvbnN0IGlubmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogICAgICAgICAgICAgICAgICAgIGlubmVyLmNsYXNzTmFtZSA9ICd3b3JkLWlubmVyJzsKICAgICAgICAgICAgICAgICAgICBpbm5lci5pbm5lclRleHQgPSB3b3JkOwogICAgICAgICAgICAgICAgICAgIHdyYXAuYXBwZW5kQ2hpbGQoaW5uZXIpOwogICAgICAgICAgICAgICAgICAgIHRleHRFbC5hcHBlbmRDaGlsZCh3cmFwKTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIGdzYXAudG8oIi53b3JkLWlubmVyIiwgewogICAgICAgICAgICAgICAgICAgIHk6ICIwJSIsCiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDAuNSwKICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyOiAwLjAxNSwKICAgICAgICAgICAgICAgICAgICBlYXNlOiAicG93ZXIyLm91dCIsCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVHJpZ2dlcjogewogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAiI3JldmVhbC10ZXh0IiwKICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsZXI6ICIjc2Nyb2xsLWNvbnRhaW5lciIsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiAidG9wIDk1JSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUFjdGlvbnM6ICJwbGF5IG5vbmUgbm9uZSBub25lIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==";
    const assetFiles = ["assets/page-01-fa51902b-c2a4-4c33-a96e-a8f1ef67edc6-1600w.jpg"];
    const runtimeFiles = ["../../../../assets/runtime/runtime-027051effa47-gsap-min.js","../../../../assets/runtime/runtime-163ebd087cfc-iconify-icon-min.js","../../../../assets/runtime/runtime-689ca8dda44c-scrolltrigger-min.js","../../../../assets/runtime/runtime-ccc8894b3418-runtime.js"];
    const frame = document.getElementById("neuform-demo");
    const decodeBytes = (value) => Uint8Array.from(atob(value), (character) => character.charCodeAt(0));
    const decode = (value) => new TextDecoder().decode(decodeBytes(value));
    const encodeBytes = (bytes) => {
      let binary = "";
      for (let index = 0; index < bytes.length; index += 32768) {
        binary += String.fromCharCode(...bytes.subarray(index, index + 32768));
      }
      return btoa(binary);
    };
    const mediaTypes = {
      avif: "image/avif",
      gif: "image/gif",
      jpg: "image/jpeg",
      jpeg: "image/jpeg",
      mp4: "video/mp4",
      png: "image/png",
      webm: "video/webm",
      webp: "image/webp"
    };
    const loadAsset = async (file) => {
      const response = await fetch(file, { cache: "no-store", credentials: "omit", redirect: "error" });
      if (!response.ok) throw new Error("Could not load local demo asset: " + file);
      const extension = file.split(".").pop().toLowerCase();
      const contentType = mediaTypes[extension] || "application/octet-stream";
      const bytes = new Uint8Array(await response.arrayBuffer());
      return { base64: encodeBytes(bytes), contentType, file, kind: "asset" };
    };
    Promise.allSettled(assetFiles.map(loadAsset)).then((results) => {
      const runtimeSources = runtimeFiles.map((file) => new URL(file, location.href).href).join(" ");
      const source = decode(encodedHtml).replace("__NEUFORM_RUNTIME_SOURCES__", runtimeSources);
      const mediaAssets = [];
      for (const result of results) {
        if (result.status !== "fulfilled") continue;
        mediaAssets.push(result.value);
      }
      frame.addEventListener("load", () => {
        frame.contentWindow.postMessage({ type: "neuform-assets-v1", assets: mediaAssets }, "*");
      }, { once: true });
      frame.srcdoc = source;
    }).catch((error) => {
      document.body.innerHTML = '<div class="error">Unable to load this sandboxed demo.</div>';
      console.error(error);
    });
  </script>
</body>
</html>

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Meng To
Publisher
Meng To (Community)
Source
MengTo/Skills · agent-skills/web-design/technical-wireframe-info-layout · commit 5ea1661
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Meng To.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download technical-wireframe-info-layout.zip