/* node_modules/reactflow/dist/style.css */ .react-flow { direction: ltr; } .react-flow__container { position: absolute; width: 100%; height: 100%; top: 0; left: 0; } .react-flow__pane { z-index: 1; cursor: -webkit-grab; cursor: grab; } .react-flow__pane.selection { cursor: pointer; } .react-flow__pane.dragging { cursor: -webkit-grabbing; cursor: grabbing; } .react-flow__viewport { transform-origin: 0 0; z-index: 2; pointer-events: none; } .react-flow__renderer { z-index: 4; } .react-flow__selection { z-index: 6; } .react-flow__nodesselection-rect:focus, .react-flow__nodesselection-rect:focus-visible { outline: none; } .react-flow .react-flow__edges { pointer-events: none; overflow: visible; } .react-flow__edge-path, .react-flow__connection-path { stroke: #b1b1b7; stroke-width: 1; fill: none; } .react-flow__edge { pointer-events: visibleStroke; cursor: pointer; } .react-flow__edge.animated path { stroke-dasharray: 5; -webkit-animation: dashdraw 0.5s linear infinite; animation: dashdraw 0.5s linear infinite; } .react-flow__edge.animated path.react-flow__edge-interaction { stroke-dasharray: none; -webkit-animation: none; animation: none; } .react-flow__edge.inactive { pointer-events: none; } .react-flow__edge.selected, .react-flow__edge:focus, .react-flow__edge:focus-visible { outline: none; } .react-flow__edge.selected .react-flow__edge-path, .react-flow__edge:focus .react-flow__edge-path, .react-flow__edge:focus-visible .react-flow__edge-path { stroke: #555; } .react-flow__edge-textwrapper { pointer-events: all; } .react-flow__edge-textbg { fill: white; } .react-flow__edge .react-flow__edge-text { pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; } .react-flow__connection { pointer-events: none; } .react-flow__connection .animated { stroke-dasharray: 5; -webkit-animation: dashdraw 0.5s linear infinite; animation: dashdraw 0.5s linear infinite; } .react-flow__connectionline { z-index: 1001; } .react-flow__nodes { pointer-events: none; transform-origin: 0 0; } .react-flow__node { position: absolute; -webkit-user-select: none; -moz-user-select: none; user-select: none; pointer-events: all; transform-origin: 0 0; box-sizing: border-box; cursor: -webkit-grab; cursor: grab; } .react-flow__node.dragging { cursor: -webkit-grabbing; cursor: grabbing; } .react-flow__nodesselection { z-index: 3; transform-origin: left top; pointer-events: none; } .react-flow__nodesselection-rect { position: absolute; pointer-events: all; cursor: -webkit-grab; cursor: grab; } .react-flow__handle { position: absolute; pointer-events: none; min-width: 5px; min-height: 5px; width: 6px; height: 6px; background: #1a192b; border: 1px solid white; border-radius: 100%; } .react-flow__handle.connectionindicator { pointer-events: all; cursor: crosshair; } .react-flow__handle-bottom { top: auto; left: 50%; bottom: -4px; transform: translate(-50%, 0); } .react-flow__handle-top { left: 50%; top: -4px; transform: translate(-50%, 0); } .react-flow__handle-left { top: 50%; left: -4px; transform: translate(0, -50%); } .react-flow__handle-right { right: -4px; top: 50%; transform: translate(0, -50%); } .react-flow__edgeupdater { cursor: move; pointer-events: all; } .react-flow__panel { position: absolute; z-index: 5; margin: 15px; } .react-flow__panel.top { top: 0; } .react-flow__panel.bottom { bottom: 0; } .react-flow__panel.left { left: 0; } .react-flow__panel.right { right: 0; } .react-flow__panel.center { left: 50%; transform: translateX(-50%); } .react-flow__attribution { font-size: 10px; background: rgba(255, 255, 255, 0.5); padding: 2px 3px; margin: 0; } .react-flow__attribution a { text-decoration: none; color: #999; } @-webkit-keyframes dashdraw { from { stroke-dashoffset: 10; } } @keyframes dashdraw { from { stroke-dashoffset: 10; } } .react-flow__edgelabel-renderer { position: absolute; width: 100%; height: 100%; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; } .react-flow__edge.updating .react-flow__edge-path { stroke: #777; } .react-flow__edge-text { font-size: 10px; } .react-flow__node.selectable:focus, .react-flow__node.selectable:focus-visible { outline: none; } .react-flow__node-default, .react-flow__node-input, .react-flow__node-output, .react-flow__node-group { padding: 10px; border-radius: 3px; width: 150px; font-size: 12px; color: #222; text-align: center; border-width: 1px; border-style: solid; border-color: #1a192b; background-color: white; } .react-flow__node-default.selectable:hover, .react-flow__node-input.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover { box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.08); } .react-flow__node-default.selectable.selected, .react-flow__node-default.selectable:focus, .react-flow__node-default.selectable:focus-visible, .react-flow__node-input.selectable.selected, .react-flow__node-input.selectable:focus, .react-flow__node-input.selectable:focus-visible, .react-flow__node-output.selectable.selected, .react-flow__node-output.selectable:focus, .react-flow__node-output.selectable:focus-visible, .react-flow__node-group.selectable.selected, .react-flow__node-group.selectable:focus, .react-flow__node-group.selectable:focus-visible { box-shadow: 0 0 0 0.5px #1a192b; } .react-flow__node-group { background-color: rgba(240, 240, 240, 0.25); } .react-flow__nodesselection-rect, .react-flow__selection { background: rgba(0, 89, 220, 0.08); border: 1px dotted rgba(0, 89, 220, 0.8); } .react-flow__nodesselection-rect:focus, .react-flow__nodesselection-rect:focus-visible, .react-flow__selection:focus, .react-flow__selection:focus-visible { outline: none; } .react-flow__controls { box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08); } .react-flow__controls-button { border: none; background: #fefefe; border-bottom: 1px solid #eee; box-sizing: content-box; display: flex; justify-content: center; align-items: center; width: 16px; height: 16px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none; padding: 5px; } .react-flow__controls-button:hover { background: #f4f4f4; } .react-flow__controls-button svg { width: 100%; max-width: 12px; max-height: 12px; } .react-flow__controls-button:disabled { pointer-events: none; } .react-flow__controls-button:disabled svg { fill-opacity: 0.4; } .react-flow__minimap { background-color: #fff; } .react-flow__minimap svg { display: block; } .react-flow__resize-control { position: absolute; } .react-flow__resize-control.left, .react-flow__resize-control.right { cursor: ew-resize; } .react-flow__resize-control.top, .react-flow__resize-control.bottom { cursor: ns-resize; } .react-flow__resize-control.top.left, .react-flow__resize-control.bottom.right { cursor: nwse-resize; } .react-flow__resize-control.bottom.left, .react-flow__resize-control.top.right { cursor: nesw-resize; } .react-flow__resize-control.handle { width: 4px; height: 4px; border: 1px solid #fff; border-radius: 1px; background-color: #3367d9; transform: translate(-50%, -50%); } .react-flow__resize-control.handle.left { left: 0; top: 50%; } .react-flow__resize-control.handle.right { left: 100%; top: 50%; } .react-flow__resize-control.handle.top { left: 50%; top: 0; } .react-flow__resize-control.handle.bottom { left: 50%; top: 100%; } .react-flow__resize-control.handle.top.left { left: 0; } .react-flow__resize-control.handle.bottom.left { left: 0; } .react-flow__resize-control.handle.top.right { left: 100%; } .react-flow__resize-control.handle.bottom.right { left: 100%; } .react-flow__resize-control.line { border-color: #3367d9; border-width: 0; border-style: solid; } .react-flow__resize-control.line.left, .react-flow__resize-control.line.right { width: 1px; transform: translate(-50%, 0); top: 0; height: 100%; } .react-flow__resize-control.line.left { left: 0; border-left-width: 1px; } .react-flow__resize-control.line.right { left: 100%; border-right-width: 1px; } .react-flow__resize-control.line.top, .react-flow__resize-control.line.bottom { height: 1px; transform: translate(0, -50%); left: 0; width: 100%; } .react-flow__resize-control.line.top { top: 0; border-top-width: 1px; } .react-flow__resize-control.line.bottom { border-bottom-width: 1px; top: 100%; } /* src/css/styles.css */ :root { --llm-user-border-color: #78B0E3; --llm-user-background-color: #C5E1FF; --llm-llm-border-color: #A8D8AD; --llm-llm-background-color: #DBF5DD; --llm-tool-border-color: #FFD180; --llm-tool-background-color: #FFF0C9; --llm-error-border-color: #FF6666; --llm-error-background-color: #FFCCCC; --llm-assistant-border-color: #B0B0B0; --llm-assistant-background-color: #E0E0E0; --node-padding: 10px; --node-border-radius: 5px; --node-font-size: 14px; --node-font-weight: bold; --node-text-color: #333; --node-text-align: center; } .llm-agent-chat-panel .message-type-user .message-content { border: 1px solid var(--llm-user-border-color); background-color: var(--llm-user-background-color); border-radius: 5px; padding: 10px; } .llm-agent-chat-panel .message-type-llm .message-content { border: 1px solid var(--llm-llm-border-color); background-color: var(--llm-llm-background-color); border-radius: 5px; padding: 10px; } .llm-agent-chat-panel .message-type-tool .message-content { border: 1px solid var(--llm-tool-border-color); background-color: var(--llm-tool-background-color); border-radius: 5px; padding: 10px; } .llm-agent-chat-panel .message-type-error .message-content { border: 1px solid var(--llm-error-border-color); background-color: var(--llm-error-background-color); border-radius: 5px; padding: 10px; } .llm-agent-chat-panel .message-type-assistant .message-content { border: 1px solid var(--llm-assistant-border-color); background-color: var(--llm-assistant-background-color); border-radius: 5px; padding: 10px; } .llm-agent-chat-panel .message { margin-bottom: 10px; display: flex; } .react-flow__node-default, .react-flow__node-user, .react-flow__node-llm, .react-flow__node-tool, .react-flow__node-error, .react-flow__node-assistant { padding: var(--node-padding); border-radius: var(--node-border-radius); text-align: var(--node-text-align); font-size: var(--node-font-size); font-weight: var(--node-font-weight); color: var(--node-text-color); } .react-flow__node-user { border: 1px solid var(--llm-user-border-color); background-color: var(--llm-user-background-color); } .react-flow__node-llm { border: 1px solid var(--llm-llm-border-color); background-color: var(--llm-llm-background-color); } .react-flow__node-tool { border: 1px solid var(--llm-tool-border-color); background-color: var(--llm-tool-background-color); } .react-flow__node-error { border: 1px solid var(--llm-error-border-color); background-color: var(--llm-error-background-color); } .react-flow__node-assistant { border: 1px solid var(--llm-assistant-border-color); background-color: var(--llm-assistant-background-color); } /*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibm9kZV9tb2R1bGVzL3JlYWN0Zmxvdy9kaXN0L3N0eWxlLmNzcyIsICJzcmMvY3NzL3N0eWxlcy5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIHRoaXMgZ2V0cyBleHBvcnRlZCBhcyBzdHlsZS5jc3MgYW5kIGNhbiBiZSB1c2VkIGZvciB0aGUgZGVmYXVsdCB0aGVtaW5nICovXG4vKiB0aGVzZSBhcmUgdGhlIG5lY2Vzc2FyeSBzdHlsZXMgZm9yIFJlYWN0IEZsb3csIHRoZXkgZ2V0IHVzZWQgYnkgYmFzZS5jc3MgYW5kIHN0eWxlLmNzcyAqL1xuLnJlYWN0LWZsb3cge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbi5yZWFjdC1mbG93X19jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi5yZWFjdC1mbG93X19wYW5lIHtcbiAgei1pbmRleDogMTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cbi5yZWFjdC1mbG93X19wYW5lLnNlbGVjdGlvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZS5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gIH1cbi5yZWFjdC1mbG93X192aWV3cG9ydCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgei1pbmRleDogMjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucmVhY3QtZmxvd19fcmVuZGVyZXIge1xuICB6LWluZGV4OiA0O1xufVxuLnJlYWN0LWZsb3dfX3NlbGVjdGlvbiB7XG4gIHotaW5kZXg6IDY7XG59XG4ucmVhY3QtZmxvd19fbm9kZXNzZWxlY3Rpb24tcmVjdDpmb2N1cyxcbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbi1yZWN0OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnJlYWN0LWZsb3cgLnJlYWN0LWZsb3dfX2VkZ2VzIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnJlYWN0LWZsb3dfX2VkZ2UtcGF0aCxcbi5yZWFjdC1mbG93X19jb25uZWN0aW9uLXBhdGgge1xuICBzdHJva2U6ICNiMWIxYjc7XG4gIHN0cm9rZS13aWR0aDogMTtcbiAgZmlsbDogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19lZGdlIHtcbiAgcG9pbnRlci1ldmVudHM6IHZpc2libGVTdHJva2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yZWFjdC1mbG93X19lZGdlLmFuaW1hdGVkIHBhdGgge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDU7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGRhc2hkcmF3IDAuNXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBkYXNoZHJhdyAwLjVzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxuLnJlYWN0LWZsb3dfX2VkZ2UuYW5pbWF0ZWQgcGF0aC5yZWFjdC1mbG93X19lZGdlLWludGVyYWN0aW9uIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiBub25lO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZS5pbmFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbi5yZWFjdC1mbG93X19lZGdlLnNlbGVjdGVkLFxuICAucmVhY3QtZmxvd19fZWRnZTpmb2N1cyxcbiAgLnJlYWN0LWZsb3dfX2VkZ2U6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuLnJlYWN0LWZsb3dfX2VkZ2Uuc2VsZWN0ZWQgLnJlYWN0LWZsb3dfX2VkZ2UtcGF0aCxcbiAgLnJlYWN0LWZsb3dfX2VkZ2U6Zm9jdXMgLnJlYWN0LWZsb3dfX2VkZ2UtcGF0aCxcbiAgLnJlYWN0LWZsb3dfX2VkZ2U6Zm9jdXMtdmlzaWJsZSAucmVhY3QtZmxvd19fZWRnZS1wYXRoIHtcbiAgICBzdHJva2U6ICM1NTU7XG4gIH1cbi5yZWFjdC1mbG93X19lZGdlLXRleHR3cmFwcGVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZS10ZXh0Ymcge1xuICAgIGZpbGw6IHdoaXRlO1xuICB9XG4ucmVhY3QtZmxvd19fZWRnZSAucmVhY3QtZmxvd19fZWRnZS10ZXh0IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuLnJlYWN0LWZsb3dfX2Nvbm5lY3Rpb24ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19jb25uZWN0aW9uIC5hbmltYXRlZCB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogNTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZGFzaGRyYXcgMC41cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgICBhbmltYXRpb246IGRhc2hkcmF3IDAuNXMgbGluZWFyIGluZmluaXRlO1xuICB9XG4ucmVhY3QtZmxvd19fY29ubmVjdGlvbmxpbmUge1xuICB6LWluZGV4OiAxMDAxO1xufVxuLnJlYWN0LWZsb3dfX25vZGVzIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbn1cbi5yZWFjdC1mbG93X19ub2RlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG4ucmVhY3QtZmxvd19fbm9kZS5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gIH1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbiB7XG4gIHotaW5kZXg6IDM7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbi1yZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgICBjdXJzb3I6IGdyYWI7XG4gIH1cbi5yZWFjdC1mbG93X19oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtaW4td2lkdGg6IDVweDtcbiAgbWluLWhlaWdodDogNXB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogIzFhMTkyYjtcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4ucmVhY3QtZmxvd19faGFuZGxlLmNvbm5lY3Rpb25pbmRpY2F0b3Ige1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgY3Vyc29yOiBjcm9zc2hhaXI7XG4gIH1cbi5yZWFjdC1mbG93X19oYW5kbGUtYm90dG9tIHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogLTRweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgfVxuLnJlYWN0LWZsb3dfX2hhbmRsZS10b3Age1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IC00cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIH1cbi5yZWFjdC1mbG93X19oYW5kbGUtbGVmdCB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLTRweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgfVxuLnJlYWN0LWZsb3dfX2hhbmRsZS1yaWdodCB7XG4gICAgcmlnaHQ6IC00cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIH1cbi5yZWFjdC1mbG93X19lZGdldXBkYXRlciB7XG4gIGN1cnNvcjogbW92ZTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cbi5yZWFjdC1mbG93X19wYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgbWFyZ2luOiAxNXB4O1xufVxuLnJlYWN0LWZsb3dfX3BhbmVsLnRvcCB7XG4gICAgdG9wOiAwO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZWwuYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gIH1cbi5yZWFjdC1mbG93X19wYW5lbC5sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZWwucmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4ucmVhY3QtZmxvd19fcGFuZWwuY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG4ucmVhY3QtZmxvd19fYXR0cmlidXRpb24ge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgcGFkZGluZzogMnB4IDNweDtcbiAgbWFyZ2luOiAwO1xufVxuLnJlYWN0LWZsb3dfX2F0dHJpYnV0aW9uIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzk5OTtcbiAgfVxuQC13ZWJraXQta2V5ZnJhbWVzIGRhc2hkcmF3IHtcbiAgZnJvbSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGRhc2hkcmF3IHtcbiAgZnJvbSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwO1xuICB9XG59XG4ucmVhY3QtZmxvd19fZWRnZWxhYmVsLXJlbmRlcmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5yZWFjdC1mbG93X19lZGdlLnVwZGF0aW5nIC5yZWFjdC1mbG93X19lZGdlLXBhdGgge1xuICAgICAgc3Ryb2tlOiAjNzc3O1xuICAgIH1cbi5yZWFjdC1mbG93X19lZGdlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxuLnJlYWN0LWZsb3dfX25vZGUuc2VsZWN0YWJsZTpmb2N1cyxcbiAgLnJlYWN0LWZsb3dfX25vZGUuc2VsZWN0YWJsZTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4ucmVhY3QtZmxvd19fbm9kZS1kZWZhdWx0LFxuLnJlYWN0LWZsb3dfX25vZGUtaW5wdXQsXG4ucmVhY3QtZmxvd19fbm9kZS1vdXRwdXQsXG4ucmVhY3QtZmxvd19fbm9kZS1ncm91cCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgd2lkdGg6IDE1MHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjMjIyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxYTE5MmI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLnJlYWN0LWZsb3dfX25vZGUtZGVmYXVsdC5zZWxlY3RhYmxlOmhvdmVyLCAucmVhY3QtZmxvd19fbm9kZS1pbnB1dC5zZWxlY3RhYmxlOmhvdmVyLCAucmVhY3QtZmxvd19fbm9kZS1vdXRwdXQuc2VsZWN0YWJsZTpob3ZlciwgLnJlYWN0LWZsb3dfX25vZGUtZ3JvdXAuc2VsZWN0YWJsZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgfVxuLnJlYWN0LWZsb3dfX25vZGUtZGVmYXVsdC5zZWxlY3RhYmxlLnNlbGVjdGVkLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLWRlZmF1bHQuc2VsZWN0YWJsZTpmb2N1cyxcbiAgICAucmVhY3QtZmxvd19fbm9kZS1kZWZhdWx0LnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSxcbiAgICAucmVhY3QtZmxvd19fbm9kZS1pbnB1dC5zZWxlY3RhYmxlLnNlbGVjdGVkLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLWlucHV0LnNlbGVjdGFibGU6Zm9jdXMsXG4gICAgLnJlYWN0LWZsb3dfX25vZGUtaW5wdXQuc2VsZWN0YWJsZTpmb2N1cy12aXNpYmxlLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlLnNlbGVjdGVkLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLW91dHB1dC5zZWxlY3RhYmxlOmZvY3VzLXZpc2libGUsXG4gICAgLnJlYWN0LWZsb3dfX25vZGUtZ3JvdXAuc2VsZWN0YWJsZS5zZWxlY3RlZCxcbiAgICAucmVhY3QtZmxvd19fbm9kZS1ncm91cC5zZWxlY3RhYmxlOmZvY3VzLFxuICAgIC5yZWFjdC1mbG93X19ub2RlLWdyb3VwLnNlbGVjdGFibGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjVweCAjMWExOTJiO1xuICAgIH1cbi5yZWFjdC1mbG93X19ub2RlLWdyb3VwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjI1KTtcbn1cbi5yZWFjdC1mbG93X19ub2Rlc3NlbGVjdGlvbi1yZWN0LFxuLnJlYWN0LWZsb3dfX3NlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgODksIDIyMCwgMC4wOCk7XG4gIGJvcmRlcjogMXB4IGRvdHRlZCByZ2JhKDAsIDg5LCAyMjAsIDAuOCk7XG59XG4ucmVhY3QtZmxvd19fbm9kZXNzZWxlY3Rpb24tcmVjdDpmb2N1cyxcbiAgLnJlYWN0LWZsb3dfX25vZGVzc2VsZWN0aW9uLXJlY3Q6Zm9jdXMtdmlzaWJsZSxcbiAgLnJlYWN0LWZsb3dfX3NlbGVjdGlvbjpmb2N1cyxcbiAgLnJlYWN0LWZsb3dfX3NlbGVjdGlvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4ucmVhY3QtZmxvd19fY29udHJvbHMge1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcGFkZGluZzogNXB4O1xuICB9XG4ucmVhY3QtZmxvd19fY29udHJvbHMtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgfVxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzLWJ1dHRvbiBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEycHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMnB4O1xuICAgIH1cbi5yZWFjdC1mbG93X19jb250cm9scy1idXR0b246ZGlzYWJsZWQge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuLnJlYWN0LWZsb3dfX2NvbnRyb2xzLWJ1dHRvbjpkaXNhYmxlZCBzdmcge1xuICAgICAgICBmaWxsLW9wYWNpdHk6IDAuNDtcbiAgICAgIH1cbi5yZWFjdC1mbG93X19taW5pbWFwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5yZWFjdC1mbG93X19taW5pbWFwIHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmxlZnQsXG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wucmlnaHQge1xuICBjdXJzb3I6IGV3LXJlc2l6ZTtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC50b3AsXG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuYm90dG9tIHtcbiAgY3Vyc29yOiBucy1yZXNpemU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wudG9wLmxlZnQsXG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuYm90dG9tLnJpZ2h0IHtcbiAgY3Vyc29yOiBud3NlLXJlc2l6ZTtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5ib3R0b20ubGVmdCxcbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC50b3AucmlnaHQge1xuICBjdXJzb3I6IG5lc3ctcmVzaXplO1xufVxuLyogaGFuZGxlIHN0eWxlcyAqL1xuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZSB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzY3ZDk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS5sZWZ0IHtcbiAgbGVmdDogMDtcbiAgdG9wOiA1MCU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuaGFuZGxlLnJpZ2h0IHtcbiAgbGVmdDogMTAwJTtcbiAgdG9wOiA1MCU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuaGFuZGxlLnRvcCB7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAwO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS5ib3R0b20ge1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogMTAwJTtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5oYW5kbGUudG9wLmxlZnQge1xuICBsZWZ0OiAwO1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmhhbmRsZS5ib3R0b20ubGVmdCB7XG4gIGxlZnQ6IDA7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuaGFuZGxlLnRvcC5yaWdodCB7XG4gIGxlZnQ6IDEwMCU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wuaGFuZGxlLmJvdHRvbS5yaWdodCB7XG4gIGxlZnQ6IDEwMCU7XG59XG4vKiBsaW5lIHN0eWxlcyAqL1xuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmxpbmUge1xuICBib3JkZXItY29sb3I6ICMzMzY3ZDk7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5saW5lLmxlZnQsXG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS5yaWdodCB7XG4gIHdpZHRoOiAxcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5saW5lLmxlZnQge1xuICBsZWZ0OiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xufVxuLnJlYWN0LWZsb3dfX3Jlc2l6ZS1jb250cm9sLmxpbmUucmlnaHQge1xuICBsZWZ0OiAxMDAlO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5saW5lLnRvcCxcbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5saW5lLmJvdHRvbSB7XG4gIGhlaWdodDogMXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucmVhY3QtZmxvd19fcmVzaXplLWNvbnRyb2wubGluZS50b3Age1xuICB0b3A6IDA7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbn1cbi5yZWFjdC1mbG93X19yZXNpemUtY29udHJvbC5saW5lLmJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgdG9wOiAxMDAlO1xufVxuIiwgIi8qIHNyYy9zdHlsZXMuY3NzIFx1MDQzOFx1MDQzQlx1MDQzOCBcdTA0M0FcdTA0NDNcdTA0MzRcdTA0MzAgXHUwNDQyXHUwNDRCIFx1MDQzNFx1MDQzRVx1MDQzMVx1MDQzMFx1MDQzMlx1MDQzQlx1MDQ0Rlx1MDQzNVx1MDQ0OFx1MDQ0QyBcdTA0NDFcdTA0NDJcdTA0MzhcdTA0M0JcdTA0MzggKi9cclxuXHJcbjpyb290IHtcclxuICAgIC8qIFx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzMCBcdTA0NDFcdTA0M0VcdTA0M0VcdTA0MzFcdTA0NDlcdTA0MzVcdTA0M0RcdTA0MzhcdTA0MzkgXHUwNDQ3XHUwNDMwXHUwNDQyXHUwNDMwICovXHJcbiAgICAtLWxsbS11c2VyLWJvcmRlci1jb2xvcjogIzc4QjBFMztcclxuICAgIC0tbGxtLXVzZXItYmFja2dyb3VuZC1jb2xvcjogI0M1RTFGRjtcclxuICAgIC0tbGxtLWxsbS1ib3JkZXItY29sb3I6ICNBOEQ4QUQ7XHJcbiAgICAtLWxsbS1sbG0tYmFja2dyb3VuZC1jb2xvcjogI0RCRjVERDtcclxuICAgIC0tbGxtLXRvb2wtYm9yZGVyLWNvbG9yOiAjRkZEMTgwO1xyXG4gICAgLS1sbG0tdG9vbC1iYWNrZ3JvdW5kLWNvbG9yOiAjRkZGMEM5O1xyXG4gICAgLS1sbG0tZXJyb3ItYm9yZGVyLWNvbG9yOiAjRkY2NjY2O1xyXG4gICAgLS1sbG0tZXJyb3ItYmFja2dyb3VuZC1jb2xvcjogI0ZGQ0NDQztcclxuICAgIC0tbGxtLWFzc2lzdGFudC1ib3JkZXItY29sb3I6ICNCMEIwQjA7IC8qIFx1MDQxRFx1MDQzNVx1MDQzOVx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzQlx1MDQ0Q1x1MDQzRFx1MDQ0Qlx1MDQzOSBcdTA0NDFcdTA0MzVcdTA0NDBcdTA0NEJcdTA0MzkgXHUwNDM0XHUwNDNCXHUwNDRGIFx1MDQzMFx1MDQ0MVx1MDQ0MVx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzNVx1MDQzRFx1MDQ0Mlx1MDQzMCAqL1xyXG4gICAgLS1sbG0tYXNzaXN0YW50LWJhY2tncm91bmQtY29sb3I6ICNFMEUwRTA7IC8qIFx1MDQyMVx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzQlx1MDQzRS1cdTA0NDFcdTA0MzVcdTA0NDBcdTA0NEJcdTA0MzkgXHUwNDQ0XHUwNDNFXHUwNDNEICovXHJcblxyXG4gICAgLyogXHUwNDFFXHUwNDMxXHUwNDQ5XHUwNDM4XHUwNDM1IFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzQlx1MDQzOCBcdTA0NDNcdTA0MzdcdTA0M0JcdTA0M0VcdTA0MzIgXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDQ0XHUwNDMwICovXHJcbiAgICAtLW5vZGUtcGFkZGluZzogMTBweDtcclxuICAgIC0tbm9kZS1ib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAtLW5vZGUtZm9udC1zaXplOiAxNHB4O1xyXG4gICAgLS1ub2RlLWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgLS1ub2RlLXRleHQtY29sb3I6ICMzMzM7XHJcbiAgICAtLW5vZGUtdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubGxtLWFnZW50LWNoYXQtcGFuZWwgLm1lc3NhZ2UtdHlwZS11c2VyIC5tZXNzYWdlLWNvbnRlbnQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGxtLXVzZXItYm9yZGVyLWNvbG9yKTsgLyogXHUwNDI2XHUwNDMyXHUwNDM1XHUwNDQyIFx1MDQzNFx1MDQzQlx1MDQ0RiB1c2VyICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sbG0tdXNlci1iYWNrZ3JvdW5kLWNvbG9yKTsgLyogXHUwNDIxXHUwNDMyXHUwNDM1XHUwNDQyXHUwNDNCXHUwNDNFLVx1MDQzM1x1MDQzRVx1MDQzQlx1MDQ0M1x1MDQzMVx1MDQzRVx1MDQzOSBcdTA0NDRcdTA0M0VcdTA0M0QgXHUwNDM0XHUwNDNCXHUwNDRGIHVzZXIgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5sbG0tYWdlbnQtY2hhdC1wYW5lbCAubWVzc2FnZS10eXBlLWxsbSAubWVzc2FnZS1jb250ZW50IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxsbS1sbG0tYm9yZGVyLWNvbG9yKTsgLyogXHUwNDI2XHUwNDMyXHUwNDM1XHUwNDQyIFx1MDQzNFx1MDQzQlx1MDQ0RiBsbG0gKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxsbS1sbG0tYmFja2dyb3VuZC1jb2xvcik7IC8qIFx1MDQyMVx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzQlx1MDQzRS1cdTA0MzdcdTA0MzVcdTA0M0JcdTA0MzVcdTA0M0RcdTA0NEJcdTA0MzkgXHUwNDQ0XHUwNDNFXHUwNDNEIFx1MDQzNFx1MDQzQlx1MDQ0RiBsbG0gKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5sbG0tYWdlbnQtY2hhdC1wYW5lbCAubWVzc2FnZS10eXBlLXRvb2wgLm1lc3NhZ2UtY29udGVudCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1sbG0tdG9vbC1ib3JkZXItY29sb3IpOyAvKiBcdTA0MjZcdTA0MzJcdTA0MzVcdTA0NDIgXHUwNDM0XHUwNDNCXHUwNDRGIHRvb2wgKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxsbS10b29sLWJhY2tncm91bmQtY29sb3IpOyAvKiBcdTA0MjFcdTA0MzJcdTA0MzVcdTA0NDJcdTA0M0JcdTA0M0UtXHUwNDNFXHUwNDQwXHUwNDMwXHUwNDNEXHUwNDM2XHUwNDM1XHUwNDMyXHUwNDRCXHUwNDM5IFx1MDQ0NFx1MDQzRVx1MDQzRCBcdTA0MzRcdTA0M0JcdTA0NEYgdG9vbCAqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLmxsbS1hZ2VudC1jaGF0LXBhbmVsIC5tZXNzYWdlLXR5cGUtZXJyb3IgLm1lc3NhZ2UtY29udGVudCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1sbG0tZXJyb3ItYm9yZGVyLWNvbG9yKTsgLyogXHUwNDFBXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDNEXHUwNDRCXHUwNDM5IFx1MDQ0Nlx1MDQzMlx1MDQzNVx1MDQ0MiBcdTA0MzRcdTA0M0JcdTA0NEYgZXJyb3IgKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxsbS1lcnJvci1iYWNrZ3JvdW5kLWNvbG9yKTsgLyogXHUwNDIxXHUwNDMyXHUwNDM1XHUwNDQyXHUwNDNCXHUwNDNFLVx1MDQzQVx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQzRFx1MDQ0Qlx1MDQzOSBcdTA0NDRcdTA0M0VcdTA0M0QgXHUwNDM0XHUwNDNCXHUwNDRGIGVycm9yICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4ubGxtLWFnZW50LWNoYXQtcGFuZWwgLm1lc3NhZ2UtdHlwZS1hc3Npc3RhbnQgLm1lc3NhZ2UtY29udGVudCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1sbG0tYXNzaXN0YW50LWJvcmRlci1jb2xvcik7IC8qIFx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0MiBcdTA0MzRcdTA0M0JcdTA0NEYgYXNzaXN0YW50ICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sbG0tYXNzaXN0YW50LWJhY2tncm91bmQtY29sb3IpOyAvKiBcdTA0MjFcdTA0MzJcdTA0MzVcdTA0NDJcdTA0M0JcdTA0M0UtXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDRCXHUwNDM5IFx1MDQ0NFx1MDQzRVx1MDQzRCBcdTA0MzRcdTA0M0JcdTA0NEYgYXNzaXN0YW50ICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4vKiBcdTA0MUVcdTA0MzFcdTA0NDlcdTA0MzhcdTA0MzUgXHUwNDQxXHUwNDQyXHUwNDM4XHUwNDNCXHUwNDM4IFx1MDQzNFx1MDQzQlx1MDQ0RiBcdTA0NDFcdTA0M0VcdTA0M0VcdTA0MzFcdTA0NDlcdTA0MzVcdTA0M0RcdTA0MzhcdTA0MzkgKi9cclxuLmxsbS1hZ2VudC1jaGF0LXBhbmVsIC5tZXNzYWdlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4OyAvKiBcdTA0MTRcdTA0M0JcdTA0NEYgXHUwNDMyXHUwNDRCXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNEXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDRGIFx1MDQzRlx1MDQzRSBcdTA0NDFcdTA0NDJcdTA0M0VcdTA0NDBcdTA0M0VcdTA0M0RcdTA0MzBcdTA0M0MgKi9cclxufVxyXG5cclxuLyogXHUwNDIxXHUwNDQyXHUwNDM4XHUwNDNCXHUwNDM4IFx1MDQzNFx1MDQzQlx1MDQ0RiBcdTA0NDNcdTA0MzdcdTA0M0JcdTA0M0VcdTA0MzIgXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDQ0XHUwNDMwICovXHJcbi5yZWFjdC1mbG93X19ub2RlLWRlZmF1bHQsXHJcbi5yZWFjdC1mbG93X19ub2RlLXVzZXIsXHJcbi5yZWFjdC1mbG93X19ub2RlLWxsbSxcclxuLnJlYWN0LWZsb3dfX25vZGUtdG9vbCxcclxuLnJlYWN0LWZsb3dfX25vZGUtZXJyb3IsXHJcbi5yZWFjdC1mbG93X19ub2RlLWFzc2lzdGFudCB7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1ub2RlLXBhZGRpbmcpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbm9kZS1ib3JkZXItcmFkaXVzKTtcclxuICAgIHRleHQtYWxpZ246IHZhcigtLW5vZGUtdGV4dC1hbGlnbik7XHJcbiAgICBmb250LXNpemU6IHZhcigtLW5vZGUtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1ub2RlLWZvbnQtd2VpZ2h0KTtcclxuICAgIGNvbG9yOiB2YXIoLS1ub2RlLXRleHQtY29sb3IpO1xyXG59XHJcblxyXG4ucmVhY3QtZmxvd19fbm9kZS11c2VyIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxsbS11c2VyLWJvcmRlci1jb2xvcik7IC8qIFx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0MiBcdTA0MzRcdTA0M0JcdTA0NEYgdXNlciAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGxtLXVzZXItYmFja2dyb3VuZC1jb2xvcik7IC8qIFx1MDQyMVx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzQlx1MDQzRS1cdTA0MzNcdTA0M0VcdTA0M0JcdTA0NDNcdTA0MzFcdTA0M0VcdTA0MzkgXHUwNDQ0XHUwNDNFXHUwNDNEIFx1MDQzNFx1MDQzQlx1MDQ0RiB1c2VyICovXHJcbn1cclxuXHJcbi5yZWFjdC1mbG93X19ub2RlLWxsbSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1sbG0tbGxtLWJvcmRlci1jb2xvcik7IC8qIFx1MDQyNlx1MDQzMlx1MDQzNVx1MDQ0MiBcdTA0MzRcdTA0M0JcdTA0NEYgbGxtICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sbG0tbGxtLWJhY2tncm91bmQtY29sb3IpOyAvKiBcdTA0MjFcdTA0MzJcdTA0MzVcdTA0NDJcdTA0M0JcdTA0M0UtXHUwNDM3XHUwNDM1XHUwNDNCXHUwNDM1XHUwNDNEXHUwNDRCXHUwNDM5IFx1MDQ0NFx1MDQzRVx1MDQzRCBcdTA0MzRcdTA0M0JcdTA0NEYgbGxtICovXHJcbn1cclxuXHJcbi5yZWFjdC1mbG93X19ub2RlLXRvb2wge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGxtLXRvb2wtYm9yZGVyLWNvbG9yKTsgLyogXHUwNDI2XHUwNDMyXHUwNDM1XHUwNDQyIFx1MDQzNFx1MDQzQlx1MDQ0RiB0b29sICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sbG0tdG9vbC1iYWNrZ3JvdW5kLWNvbG9yKTsgLyogXHUwNDIxXHUwNDMyXHUwNDM1XHUwNDQyXHUwNDNCXHUwNDNFLVx1MDQzRVx1MDQ0MFx1MDQzMFx1MDQzRFx1MDQzNlx1MDQzNVx1MDQzMlx1MDQ0Qlx1MDQzOSBcdTA0NDRcdTA0M0VcdTA0M0QgXHUwNDM0XHUwNDNCXHUwNDRGIHRvb2wgKi9cclxufVxyXG5cclxuLnJlYWN0LWZsb3dfX25vZGUtZXJyb3Ige1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGxtLWVycm9yLWJvcmRlci1jb2xvcik7IC8qIFx1MDQxQVx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQzRFx1MDQ0Qlx1MDQzOSBcdTA0NDZcdTA0MzJcdTA0MzVcdTA0NDIgXHUwNDM0XHUwNDNCXHUwNDRGIGVycm9yICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sbG0tZXJyb3ItYmFja2dyb3VuZC1jb2xvcik7IC8qIFx1MDQyMVx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzQlx1MDQzRS1cdTA0M0FcdTA0NDBcdTA0MzBcdTA0NDFcdTA0M0RcdTA0NEJcdTA0MzkgXHUwNDQ0XHUwNDNFXHUwNDNEIFx1MDQzNFx1MDQzQlx1MDQ0RiBlcnJvciAqL1xyXG59XHJcblxyXG4ucmVhY3QtZmxvd19fbm9kZS1hc3Npc3RhbnQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGxtLWFzc2lzdGFudC1ib3JkZXItY29sb3IpOyAvKiBcdTA0MURcdTA0MzVcdTA0MzlcdTA0NDJcdTA0NDBcdTA0MzBcdTA0M0JcdTA0NENcdTA0M0RcdTA0NEJcdTA0MzkgXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDRCXHUwNDM5IFx1MDQzNFx1MDQzQlx1MDQ0RiBcdTA0MzBcdTA0NDFcdTA0NDFcdTA0MzhcdTA0NDFcdTA0NDJcdTA0MzVcdTA0M0RcdTA0NDJcdTA0MzAgKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxsbS1hc3Npc3RhbnQtYmFja2dyb3VuZC1jb2xvcik7IC8qIFx1MDQyMVx1MDQzMlx1MDQzNVx1MDQ0Mlx1MDQzQlx1MDQzRS1cdTA0NDFcdTA0MzVcdTA0NDBcdTA0NEJcdTA0MzkgXHUwNDQ0XHUwNDNFXHUwNDNEICovXHJcbn0iXSwKICAibWFwcGluZ3MiOiAiO0FBRUE7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDSTtBQUFBO0FBRUo7QUFDSTtBQUNBO0FBQUE7QUFFSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDSTtBQUNBO0FBQ1E7QUFBQTtBQUVaO0FBQ0k7QUFDQTtBQUNRO0FBQUE7QUFFWjtBQUNJO0FBQUE7QUFFSjtBQUFBO0FBQUE7QUFHSTtBQUFBO0FBRUo7QUFBQTtBQUFBO0FBR0k7QUFBQTtBQUVKO0FBQ0k7QUFBQTtBQUVKO0FBQ0k7QUFBQTtBQUVKO0FBQ0k7QUFDQTtBQUNHO0FBQ0s7QUFBQTtBQUVaO0FBQ0U7QUFBQTtBQUVGO0FBQ0k7QUFDQTtBQUNRO0FBQUE7QUFFWjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNHO0FBQ0s7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNJO0FBQ0E7QUFBQTtBQUVKO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNJO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDSTtBQUNBO0FBQUE7QUFFSjtBQUNJO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFSjtBQUNJO0FBQ0E7QUFDQTtBQUFBO0FBRUo7QUFDSTtBQUNBO0FBQ0E7QUFBQTtBQUVKO0FBQ0k7QUFDQTtBQUNBO0FBQUE7QUFFSjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNJO0FBQUE7QUFFSjtBQUNJO0FBQUE7QUFFSjtBQUNJO0FBQUE7QUFFSjtBQUNJO0FBQUE7QUFFSjtBQUNJO0FBQ0E7QUFBQTtBQUVKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0k7QUFDQTtBQUFBO0FBRUo7QUFBQTtBQUVJO0FBQUE7QUFBQTtBQUdKO0FBQUE7QUFFSTtBQUFBO0FBQUE7QUFHSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRztBQUNLO0FBQUE7QUFFVjtBQUNNO0FBQUE7QUFFTjtBQUNJO0FBQUE7QUFFSjtBQUFBO0FBRUk7QUFBQTtBQUVKO0FBQUE7QUFBQTtBQUFBO0FBSUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQ007QUFBQTtBQUVOO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlNO0FBQUE7QUFFTjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJSTtBQUFBO0FBRUo7QUFDRTtBQUFBO0FBRUY7QUFDSTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0c7QUFDSztBQUNSO0FBQUE7QUFFSjtBQUNNO0FBQUE7QUFFTjtBQUNNO0FBQ0E7QUFDQTtBQUFBO0FBRU47QUFDTTtBQUFBO0FBRU47QUFDUTtBQUFBO0FBRVI7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBOzs7QUNsWkY7QUFFSTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0o7QUFDSTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0o7QUFDSTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0o7QUFDSTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0o7QUFDSTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0o7QUFDSTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUo7QUFDSTtBQUNBO0FBQUE7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNSTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdKO0FBQ0k7QUFDQTtBQUFBO0FBR0o7QUFDSTtBQUNBO0FBQUE7QUFHSjtBQUNJO0FBQ0E7QUFBQTtBQUdKO0FBQ0k7QUFDQTtBQUFBO0FBR0o7QUFDSTtBQUNBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg== */