280 lines
24 KiB
Plaintext
280 lines
24 KiB
Plaintext
import { createHotContext as __vite__createHotContext } from "/_nuxt/@vite/client";import.meta.hot = __vite__createHotContext("/components/viewer/view-modes/Menu.vue");import { FormRange as __nuxt_component_0 } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js";
|
|
import { default as __nuxt_component_1 } from "/_nuxt/components/viewer/layout/Panel.vue";
|
|
import { default as __nuxt_component_2 } from "/_nuxt/components/viewer/button-group/Button.vue";
|
|
import { default as __nuxt_component_3 } from "/_nuxt/components/viewer/button-group/ButtonGroup.vue";
|
|
import { default as __nuxt_component_4 } from "/_nuxt/components/global/icon/viewer/Settings.vue";
|
|
/* Injection by vite-plugin-vue-inspector Start */
|
|
import { createElementVNode as __createElementVNode,createVNode as __createVNode,createElementBlock as __createElementBlock,createBlock as __createBlock } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29"
|
|
function _interopVNode(vnode) {
|
|
if (vnode && vnode.props && 'data-v-inspector' in vnode.props) {
|
|
const data = vnode.props['data-v-inspector']
|
|
delete vnode.props['data-v-inspector']
|
|
Object.defineProperty(vnode.props, '__v_inspector', { value: data, enumerable: false })
|
|
}
|
|
return vnode
|
|
}
|
|
function _createElementVNode(...args) { return _interopVNode(__createElementVNode(...args)) }
|
|
function _createVNode(...args) { return _interopVNode(__createVNode(...args)) }
|
|
function _createElementBlock(...args) { return _interopVNode(__createElementBlock(...args)) }
|
|
function _createBlock(...args) { return _interopVNode(__createBlock(...args)) }
|
|
/* Injection by vite-plugin-vue-inspector End */
|
|
import { defineComponent as _defineComponent } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
import { ViewMode } from "/_nuxt/@fs/D:/speckle-server/packages/viewer/dist/index.js";
|
|
import { useViewModeUtilities } from "/_nuxt/lib/viewer/composables/ui.ts";
|
|
import { ViewModeShortcuts } from "/_nuxt/lib/viewer/helpers/shortcuts/shortcuts.ts";
|
|
import { FormSwitch } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js";
|
|
import { defaultEdgeColorValue } from "/_nuxt/lib/viewer/composables/setup/viewMode.ts";
|
|
|
|
import { ref, computed } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
const _sfc_main = /* @__PURE__ */ _defineComponent({
|
|
__name: "ViewerViewModesMenu",
|
|
setup(__props, { expose: __expose }) {
|
|
__expose();
|
|
const {
|
|
setViewMode,
|
|
toggleEdgesEnabled,
|
|
setEdgesWeight,
|
|
setEdgesColor,
|
|
viewMode: { edgesColor, edgesWeight, edgesEnabled, mode: currentViewMode }
|
|
} = useViewModeUtilities();
|
|
const showSettings = ref(false);
|
|
const isActiveMode = (mode) => mode === currentViewMode.value;
|
|
const viewModeShortcuts = Object.values(ViewModeShortcuts);
|
|
const edgesColorOptions = computed(
|
|
() => [
|
|
defaultEdgeColorValue,
|
|
// black or white
|
|
3900150,
|
|
// blue-500
|
|
9133302,
|
|
// violet-500
|
|
6660877,
|
|
// lime-600
|
|
16347926,
|
|
// orange-500
|
|
16007006
|
|
//rose-500
|
|
]
|
|
);
|
|
const handleViewModeChange = (mode) => {
|
|
setViewMode(mode);
|
|
};
|
|
const __returned__ = { setViewMode, toggleEdgesEnabled, setEdgesWeight, setEdgesColor, edgesColor, edgesWeight, edgesEnabled, currentViewMode, showSettings, isActiveMode, viewModeShortcuts, edgesColorOptions, handleViewModeChange, get ViewMode() {
|
|
return ViewMode;
|
|
}, get FormSwitch() {
|
|
return FormSwitch;
|
|
} };
|
|
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
|
|
return __returned__;
|
|
}
|
|
});
|
|
import { resolveDirective as _resolveDirective, openBlock as _openBlock, withDirectives as _withDirectives, resolveComponent as _resolveComponent, renderList as _renderList, Fragment as _Fragment, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, withCtx as _withCtx, toDisplayString as _toDisplayString } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
const _hoisted_1 = { "data-v-inspector": "components/viewer/view-modes/Menu.vue:3:3" };
|
|
const _hoisted_2 = {
|
|
class: "p-3 py-2.5 flex items-center justify-between",
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:5:7"
|
|
};
|
|
const _hoisted_3 = { "data-v-inspector": "components/viewer/view-modes/Menu.vue:9:9" };
|
|
const _hoisted_4 = {
|
|
key: 0,
|
|
class: "p-3 pb-2.5 pt-1",
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:26:7"
|
|
};
|
|
const _hoisted_5 = { "data-v-inspector": "components/viewer/view-modes/Menu.vue:27:9" };
|
|
const _hoisted_6 = {
|
|
class: "flex items-center justify-between my-1",
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:37:11"
|
|
};
|
|
const _hoisted_7 = {
|
|
class: "flex items-center gap-1 bg-highlight-1 rounded-lg p-1",
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:39:13"
|
|
};
|
|
const _hoisted_8 = ["onClick"];
|
|
const _hoisted_9 = {
|
|
class: "text-body-2xs text-foreground px-2 py-1",
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:73:11"
|
|
};
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
const _component_FormRange = __nuxt_component_0;
|
|
const _component_ViewerLayoutPanel = __nuxt_component_1;
|
|
const _component_ViewerButtonGroupButton = __nuxt_component_2;
|
|
const _component_ViewerButtonGroup = __nuxt_component_3;
|
|
const _component_IconViewerSettings = __nuxt_component_4;
|
|
const _directive_tippy = _resolveDirective("tippy");
|
|
return _openBlock(), _createElementBlock("div", _hoisted_1, [
|
|
$setup.showSettings ? (_openBlock(), _createBlock(_component_ViewerLayoutPanel, {
|
|
key: 0,
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:4:5"
|
|
}, {
|
|
default: _withCtx(() => [
|
|
_createElementVNode("div", _hoisted_2, [
|
|
_cache[1] || (_cache[1] = _createElementVNode(
|
|
"span",
|
|
{
|
|
class: "text-body-2xs font-medium text-foreground leading-none",
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:6:9"
|
|
},
|
|
" Edges ",
|
|
-1
|
|
/* CACHED */
|
|
)),
|
|
_withDirectives((_openBlock(), _createElementBlock("div", _hoisted_3, [
|
|
_createVNode($setup["FormSwitch"], {
|
|
"model-value": $setup.edgesEnabled,
|
|
"show-label": false,
|
|
name: "toggle-edges",
|
|
class: "text-body-2xs",
|
|
disabled: $setup.currentViewMode === $setup.ViewMode.PEN,
|
|
"onUpdate:modelValue": $setup.toggleEdgesEnabled,
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:16:11"
|
|
}, null, 8, ["model-value", "disabled", "onUpdate:modelValue"])
|
|
])), [
|
|
[
|
|
_directive_tippy,
|
|
$setup.currentViewMode === $setup.ViewMode.PEN ? "Edges are always enabled in Pen mode" : void 0
|
|
]
|
|
])
|
|
]),
|
|
$setup.edgesEnabled ? (_openBlock(), _createElementBlock("div", _hoisted_4, [
|
|
_createElementVNode("div", _hoisted_5, [
|
|
_createVNode(_component_FormRange, {
|
|
"model-value": $setup.edgesWeight,
|
|
name: "edge-stroke",
|
|
label: "Weight",
|
|
min: 0.5,
|
|
max: 3,
|
|
step: 0.1,
|
|
"onUpdate:modelValue": $setup.setEdgesWeight,
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:28:11"
|
|
}, null, 8, ["model-value", "onUpdate:modelValue"]),
|
|
_createElementVNode("div", _hoisted_6, [
|
|
_cache[2] || (_cache[2] = _createElementVNode(
|
|
"div",
|
|
{
|
|
class: "text-body-2xs",
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:38:13"
|
|
},
|
|
"Color",
|
|
-1
|
|
/* CACHED */
|
|
)),
|
|
_createElementVNode("div", _hoisted_7, [
|
|
(_openBlock(true), _createElementBlock(
|
|
_Fragment,
|
|
null,
|
|
_renderList($setup.edgesColorOptions, (color, index) => {
|
|
return _openBlock(), _createElementBlock("button", {
|
|
key: color,
|
|
class: _normalizeClass([
|
|
"flex items-center justify-center size-6",
|
|
$setup.edgesColor === color && "bg-foundation border border-outline-2 rounded-lg"
|
|
]),
|
|
onClick: ($event) => $setup.setEdgesColor(color),
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:40:15"
|
|
}, [
|
|
_createElementVNode(
|
|
"span",
|
|
{
|
|
class: "size-4 rounded-full cursor-pointer",
|
|
style: _normalizeStyle({
|
|
background: index === 0 ? "linear-gradient(to top left, #1a1a1a 50%, #ffffff 50%)" : `#${color.toString(16).padStart(6, "0")}`
|
|
}),
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:50:17"
|
|
},
|
|
null,
|
|
4
|
|
/* STYLE */
|
|
)
|
|
], 10, _hoisted_8);
|
|
}),
|
|
128
|
|
/* KEYED_FRAGMENT */
|
|
))
|
|
])
|
|
])
|
|
])
|
|
])) : _createCommentVNode("v-if", true)
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
})) : _createCommentVNode("v-if", true),
|
|
_createVNode(_component_ViewerLayoutPanel, {
|
|
class: "mt-1 p-2 flex justify-between items-center",
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:65:5"
|
|
}, {
|
|
default: _withCtx(() => [
|
|
_createVNode(_component_ViewerButtonGroup, { "data-v-inspector": "components/viewer/view-modes/Menu.vue:66:7" }, {
|
|
default: _withCtx(() => [
|
|
(_openBlock(true), _createElementBlock(
|
|
_Fragment,
|
|
null,
|
|
_renderList($setup.viewModeShortcuts, (shortcut) => {
|
|
return _openBlock(), _createBlock(_component_ViewerButtonGroupButton, {
|
|
key: shortcut.name,
|
|
"is-active": $setup.isActiveMode(shortcut.viewMode),
|
|
onClick: ($event) => $setup.handleViewModeChange(shortcut.viewMode),
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:67:9"
|
|
}, {
|
|
default: _withCtx(() => [
|
|
_createElementVNode(
|
|
"span",
|
|
_hoisted_9,
|
|
_toDisplayString(shortcut.name),
|
|
1
|
|
/* TEXT */
|
|
)
|
|
]),
|
|
_: 2
|
|
/* DYNAMIC */
|
|
}, 1032, ["is-active", "onClick"]);
|
|
}),
|
|
128
|
|
/* KEYED_FRAGMENT */
|
|
))
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
}),
|
|
_createElementVNode(
|
|
"button",
|
|
{
|
|
class: _normalizeClass(["size-6 flex items-center justify-center rounded-md", [
|
|
$setup.showSettings && "text-primary-focus bg-info-lighter dark:text-foreground-on-primary",
|
|
!$setup.showSettings && "text-foreground hover:bg-foundation-2"
|
|
]]),
|
|
onClick: _cache[0] || (_cache[0] = ($event) => $setup.showSettings = !$setup.showSettings),
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:78:7"
|
|
},
|
|
[
|
|
_createVNode(_component_IconViewerSettings, {
|
|
class: "size-4",
|
|
"data-v-inspector": "components/viewer/view-modes/Menu.vue:87:9"
|
|
})
|
|
],
|
|
2
|
|
/* CLASS */
|
|
)
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
})
|
|
]);
|
|
}
|
|
_sfc_main.__hmrId = "b7a4a8f6";
|
|
typeof __VUE_HMR_RUNTIME__ !== "undefined" && __VUE_HMR_RUNTIME__.createRecord(_sfc_main.__hmrId, _sfc_main);
|
|
import.meta.hot.on("file-changed", ({ file }) => {
|
|
__VUE_HMR_RUNTIME__.CHANGED_FILE = file;
|
|
});
|
|
import.meta.hot.accept((mod) => {
|
|
if (!mod) return;
|
|
const { default: updated, _rerender_only } = mod;
|
|
if (_rerender_only) {
|
|
__VUE_HMR_RUNTIME__.rerender(updated.__hmrId, updated.render);
|
|
} else {
|
|
__VUE_HMR_RUNTIME__.reload(updated.__hmrId, updated);
|
|
}
|
|
});
|
|
import _export_sfc from "/_nuxt/@id/__x00__plugin-vue:export-helper";
|
|
export default /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/speckle-server/packages/frontend-2/components/viewer/view-modes/Menu.vue"]]);
|
|
|
|
//# sourceMappingURL=data:application/json;base64,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QSwwQkFQQSxPQUFNO0FBQUEsMEJBQ0wsT0FBSztBQUFBLHdDQUE0RCxVQUFLLG1FQUEwSCxNQUFNLFNBQVEsSUFBSyxTQUFRO0FBQUE7MEJBS3pOLG9CQUFpQjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFRbEMsYUF3Qm9CO0FBQUEsTUF4QkQsT0FBTTtBQUFBLE1BQTZDLG9CQUFpQjtBQUFBO3dCQUNyRixNQVdvQjtBQUFBLFFBWHBCLGFBV29CLGdDQVhELG9CQUFpQiw2Q0FBNEM7QUFBQSw0QkFFNUUsTUFBcUM7QUFBQSwrQkFEdkM7QUFBQSxjQVMwQjtBQUFBO0FBQUEsMEJBUkwsMEJBQWlCLENBQTdCLGFBQVE7cUNBRGpCLGFBUzBCO0FBQUEsa0JBUHZCLEtBQUssU0FBUztBQUFBLGtCQUNkLGFBQVcsb0JBQWEsU0FBUyxRQUFRO0FBQUEsa0JBQ3pDLFNBQUssWUFBRSw0QkFBcUIsU0FBUyxRQUFRO0FBQUEsa0JBQUcsb0JBQWlCO0FBQUE7b0NBRWxFLE1BRU87QUFBQSxvQkFGUDtBQUFBLHNCQUVPO0FBQUEsc0JBRlA7QUFBQSxzQkFFTyxpQkFERixTQUFTLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O1FBSXRCO0FBQUEsVUFVUztBQUFBO0FBQUEsWUFUUCxPQUFLLGlCQUFDLHNEQUFvRDtBQUFBLGNBQ3JDO2VBQStHLHVCQUFZO0FBQUE7WUFLL0ksU0FBSyxzQ0FBRSxzQkFBWSxDQUFJO0FBQUEsWUFBYyxvQkFBaUI7QUFBQTs7WUFFdkQsYUFBbUc7QUFBQSxjQUEvRSxPQUFNO0FBQUEsY0FBUyxvQkFBaUI7QUFBQSIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOlsiTWVudS52dWUiXSwic291cmNlc0NvbnRlbnQiOlsiPCEtLSBlc2xpbnQtZGlzYWJsZSB2dWVqcy1hY2Nlc3NpYmlsaXR5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAtLT5cclxuPHRlbXBsYXRlPlxyXG4gIDxkaXYgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvdmlld2VyL3ZpZXctbW9kZXMvTWVudS52dWU6MzozXCI+XHJcbiAgICA8Vmlld2VyTGF5b3V0UGFuZWwgdi1pZj1cInNob3dTZXR0aW5nc1wiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL3ZpZXdlci92aWV3LW1vZGVzL01lbnUudnVlOjQ6NVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicC0zIHB5LTIuNSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvdmlldy1tb2Rlcy9NZW51LnZ1ZTo1OjdcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtYm9keS0yeHMgZm9udC1tZWRpdW0gdGV4dC1mb3JlZ3JvdW5kIGxlYWRpbmctbm9uZVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL3ZpZXdlci92aWV3LW1vZGVzL01lbnUudnVlOjY6OVwiPlxyXG4gICAgICAgICAgRWRnZXNcclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgdi10aXBweT1cIlxyXG4gICAgICAgICAgICBjdXJyZW50Vmlld01vZGUgPT09IFZpZXdNb2RlLlBFTlxyXG4gICAgICAgICAgICAgID8gJ0VkZ2VzIGFyZSBhbHdheXMgZW5hYmxlZCBpbiBQZW4gbW9kZSdcclxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvdmlld2VyL3ZpZXctbW9kZXMvTWVudS52dWU6OTo5XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybVN3aXRjaFxyXG4gICAgICAgICAgICA6bW9kZWwtdmFsdWU9XCJlZGdlc0VuYWJsZWRcIlxyXG4gICAgICAgICAgICA6c2hvdy1sYWJlbD1cImZhbHNlXCJcclxuICAgICAgICAgICAgbmFtZT1cInRvZ2dsZS1lZGdlc1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LTJ4c1wiXHJcbiAgICAgICAgICAgIDpkaXNhYmxlZD1cImN1cnJlbnRWaWV3TW9kZSA9PT0gVmlld01vZGUuUEVOXCJcclxuICAgICAgICAgICAgQHVwZGF0ZTptb2RlbC12YWx1ZT1cInRvZ2dsZUVkZ2VzRW5hYmxlZFwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL3ZpZXdlci92aWV3LW1vZGVzL01lbnUudnVlOjE2OjExXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IHYtaWY9XCJlZGdlc0VuYWJsZWRcIiBjbGFzcz1cInAtMyBwYi0yLjUgcHQtMVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL3ZpZXdlci92aWV3LW1vZGVzL01lbnUudnVlOjI2OjdcIj5cclxuICAgICAgICA8ZGl2IGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL3ZpZXdlci92aWV3LW1vZGVzL01lbnUudnVlOjI3OjlcIj5cclxuICAgICAgICAgIDxGb3JtUmFuZ2VcclxuICAgICAgICAgICAgOm1vZGVsLXZhbHVlPVwiZWRnZXNXZWlnaHRcIlxyXG4gICAgICAgICAgICBuYW1lPVwiZWRnZS1zdHJva2VcIlxyXG4gICAgICAgICAgICBsYWJlbD1cIldlaWdodFwiXHJcbiAgICAgICAgICAgIDptaW49XCIwLjVcIlxyXG4gICAgICAgICAgICA6bWF4PVwiM1wiXHJcbiAgICAgICAgICAgIDpzdGVwPVwiMC4xXCJcclxuICAgICAgICAgICAgQHVwZGF0ZTptb2RlbC12YWx1ZT1cInNldEVkZ2VzV2VpZ2h0XCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvdmlld2VyL3ZpZXctbW9kZXMvTWVudS52dWU6Mjg6MTFcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gbXktMVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL3ZpZXdlci92aWV3LW1vZGVzL01lbnUudnVlOjM3OjExXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJvZHktMnhzXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvdmlld2VyL3ZpZXctbW9kZXMvTWVudS52dWU6Mzg6MTNcIj5Db2xvcjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgYmctaGlnaGxpZ2h0LTEgcm91bmRlZC1sZyBwLTFcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvdmlldy1tb2Rlcy9NZW51LnZ1ZTozOToxM1wiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIHYtZm9yPVwiKGNvbG9yLCBpbmRleCkgaW4gZWRnZXNDb2xvck9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgOmtleT1cImNvbG9yXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgc2l6ZS02XCJcclxuICAgICAgICAgICAgICAgIDpjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICBlZGdlc0NvbG9yID09PSBjb2xvciAmJlxyXG4gICAgICAgICAgICAgICAgICAnYmctZm91bmRhdGlvbiBib3JkZXIgYm9yZGVyLW91dGxpbmUtMiByb3VuZGVkLWxnJ1xyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgIEBjbGljaz1cInNldEVkZ2VzQ29sb3IoY29sb3IpXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvdmlld2VyL3ZpZXctbW9kZXMvTWVudS52dWU6NDA6MTVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2l6ZS00IHJvdW5kZWQtZnVsbCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgIDpzdHlsZT1cIntcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOlxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXggPT09IDBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnbGluZWFyLWdyYWRpZW50KHRvIHRvcCBsZWZ0LCAjMWExYTFhIDUwJSwgI2ZmZmZmZiA1MCUpJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGAjJHtjb2xvci50b1N0cmluZygxNikucGFkU3RhcnQoNiwgJzAnKX1gXHJcbiAgICAgICAgICAgICAgICAgIH1cIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvdmlldy1tb2Rlcy9NZW51LnZ1ZTo1MDoxN1wiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvVmlld2VyTGF5b3V0UGFuZWw+XHJcbiAgICA8Vmlld2VyTGF5b3V0UGFuZWwgY2xhc3M9XCJtdC0xIHAtMiBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvdmlldy1tb2Rlcy9NZW51LnZ1ZTo2NTo1XCI+XHJcbiAgICAgIDxWaWV3ZXJCdXR0b25Hcm91cCBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvdmlldy1tb2Rlcy9NZW51LnZ1ZTo2Njo3XCI+XHJcbiAgICAgICAgPFZpZXdlckJ1dHRvbkdyb3VwQnV0dG9uXHJcbiAgICAgICAgICB2LWZvcj1cInNob3J0Y3V0IGluIHZpZXdNb2RlU2hvcnRjdXRzXCJcclxuICAgICAgICAgIDprZXk9XCJzaG9ydGN1dC5uYW1lXCJcclxuICAgICAgICAgIDppcy1hY3RpdmU9XCJpc0FjdGl2ZU1vZGUoc2hvcnRjdXQudmlld01vZGUpXCJcclxuICAgICAgICAgIEBjbGljaz1cImhhbmRsZVZpZXdNb2RlQ2hhbmdlKHNob3J0Y3V0LnZpZXdNb2RlKVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL3ZpZXdlci92aWV3LW1vZGVzL01lbnUudnVlOjY3OjlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ib2R5LTJ4cyB0ZXh0LWZvcmVncm91bmQgcHgtMiBweS0xXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvdmlld2VyL3ZpZXctbW9kZXMvTWVudS52dWU6NzM6MTFcIj5cclxuICAgICAgICAgICAge3sgc2hvcnRjdXQubmFtZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvVmlld2VyQnV0dG9uR3JvdXBCdXR0b24+XHJcbiAgICAgIDwvVmlld2VyQnV0dG9uR3JvdXA+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cInNpemUtNiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kXCJcclxuICAgICAgICA6Y2xhc3M9XCJbXHJcbiAgICAgICAgICBzaG93U2V0dGluZ3MgJiZcclxuICAgICAgICAgICAgJ3RleHQtcHJpbWFyeS1mb2N1cyBiZy1pbmZvLWxpZ2h0ZXIgZGFyazp0ZXh0LWZvcmVncm91bmQtb24tcHJpbWFyeScsXHJcbiAgICAgICAgICAhc2hvd1NldHRpbmdzICYmICd0ZXh0LWZvcmVncm91bmQgaG92ZXI6YmctZm91bmRhdGlvbi0yJ1xyXG4gICAgICAgIF1cIlxyXG4gICAgICAgIEBjbGljaz1cInNob3dTZXR0aW5ncyA9ICFzaG93U2V0dGluZ3NcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvdmlldy1tb2Rlcy9NZW51LnZ1ZTo3ODo3XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxJY29uVmlld2VyU2V0dGluZ3MgY2xhc3M9XCJzaXplLTRcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy92aWV3ZXIvdmlldy1tb2Rlcy9NZW51LnZ1ZTo4Nzo5XCIgLz5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L1ZpZXdlckxheW91dFBhbmVsPlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdCBzZXR1cCBsYW5nPVwidHNcIj5cclxuaW1wb3J0IHsgVmlld01vZGUgfSBmcm9tICdAc3BlY2tsZS92aWV3ZXInXHJcbmltcG9ydCB7IHVzZVZpZXdNb2RlVXRpbGl0aWVzIH0gZnJvbSAnfn4vbGliL3ZpZXdlci9jb21wb3NhYmxlcy91aSdcclxuaW1wb3J0IHsgVmlld01vZGVTaG9ydGN1dHMgfSBmcm9tICd+L2xpYi92aWV3ZXIvaGVscGVycy9zaG9ydGN1dHMvc2hvcnRjdXRzJ1xyXG5pbXBvcnQgeyBGb3JtU3dpdGNoIH0gZnJvbSAnQHNwZWNrbGUvdWktY29tcG9uZW50cydcclxuaW1wb3J0IHsgZGVmYXVsdEVkZ2VDb2xvclZhbHVlIH0gZnJvbSAnfi9saWIvdmlld2VyL2NvbXBvc2FibGVzL3NldHVwL3ZpZXdNb2RlJ1xyXG5cclxuY29uc3Qge1xyXG4gIHNldFZpZXdNb2RlLFxyXG4gIHRvZ2dsZUVkZ2VzRW5hYmxlZCxcclxuICBzZXRFZGdlc1dlaWdodCxcclxuICBzZXRFZGdlc0NvbG9yLFxyXG4gIHZpZXdNb2RlOiB7IGVkZ2VzQ29sb3IsIGVkZ2VzV2VpZ2h0LCBlZGdlc0VuYWJsZWQsIG1vZGU6IGN1cnJlbnRWaWV3TW9kZSB9XHJcbn0gPSB1c2VWaWV3TW9kZVV0aWxpdGllcygpXHJcblxyXG5jb25zdCBzaG93U2V0dGluZ3MgPSByZWYoZmFsc2UpXHJcblxyXG5jb25zdCBpc0FjdGl2ZU1vZGUgPSAobW9kZTogVmlld01vZGUpID0+IG1vZGUgPT09IGN1cnJlbnRWaWV3TW9kZS52YWx1ZVxyXG5cclxuY29uc3Qgdmlld01vZGVTaG9ydGN1dHMgPSBPYmplY3QudmFsdWVzKFZpZXdNb2RlU2hvcnRjdXRzKVxyXG5cclxuY29uc3QgZWRnZXNDb2xvck9wdGlvbnMgPSBjb21wdXRlZChcclxuICAoKSA9PlxyXG4gICAgW1xyXG4gICAgICBkZWZhdWx0RWRnZUNvbG9yVmFsdWUsIC8vIGJsYWNrIG9yIHdoaXRlXHJcbiAgICAgIDB4M2I4MmY2LCAvLyBibHVlLTUwMFxyXG4gICAgICAweDhiNWNmNiwgLy8gdmlvbGV0LTUwMFxyXG4gICAgICAweDY1YTMwZCwgLy8gbGltZS02MDBcclxuICAgICAgMHhmOTczMTYsIC8vIG9yYW5nZS01MDBcclxuICAgICAgMHhmNDNmNWUgLy9yb3NlLTUwMFxyXG4gICAgXSBhcyBjb25zdFxyXG4pXHJcblxyXG5jb25zdCBoYW5kbGVWaWV3TW9kZUNoYW5nZSA9IChtb2RlOiBWaWV3TW9kZSkgPT4ge1xyXG4gIHNldFZpZXdNb2RlKG1vZGUpXHJcbn1cclxuPC9zY3JpcHQ+XHJcbiJdLCJmaWxlIjoiRDovc3BlY2tsZS1zZXJ2ZXIvcGFja2FnZXMvZnJvbnRlbmQtMi9jb21wb25lbnRzL3ZpZXdlci92aWV3LW1vZGVzL01lbnUudnVlIn0= |