@operato/menu 10.28.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [11.0.0](https://github.com/hatiolab/operato/compare/v10.29.0...v11.0.0) (2026-09-26)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @operato/menu
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### [10.28.2](https://github.com/hatiolab/operato/compare/v10.28.1...v10.28.2) (2026-09-25)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### :bug: Bug Fix
|
|
18
|
+
|
|
19
|
+
* **menu:** a long submenu opens to its full length - the menu has one scrollbar ([abbc2b7](https://github.com/hatiolab/operato/commit/abbc2b774353cb2a899e156fd5c5666ffbd926e3))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
## [10.28.0](https://github.com/hatiolab/operato/compare/v10.27.1...v10.28.0) (2026-09-24)
|
|
7
24
|
|
|
8
25
|
**Note:** Version bump only for package @operato/menu
|
|
@@ -309,12 +309,24 @@ export const MenuPortraitStyles = css `
|
|
|
309
309
|
transition: max-height 0.24s ease;
|
|
310
310
|
}
|
|
311
311
|
|
|
312
|
+
/*
|
|
313
|
+
* 640px 는 **펼치는 동안의 움직임**을 위한 값이다 — max-height 는 none 으로 옮겨 가며 움직일 수 없다.
|
|
314
|
+
*/
|
|
312
315
|
:host li[active] > ul {
|
|
313
316
|
max-height: 640px;
|
|
314
317
|
}
|
|
315
318
|
|
|
319
|
+
/*
|
|
320
|
+
* ── 다 펼쳐지면 상한을 푼다 — 스크롤은 메뉴 전체에 하나뿐이다 ──────────────
|
|
321
|
+
* 전에는 여기서 overflow-y: auto 로 두었다. 하위가 640px 을 넘으면(관리 묶음이 스물한 줄이었다,
|
|
322
|
+
* operato-ecs 2026-09-24) 그 묶음 안에만 스크롤이 생겨, 메뉴 전체의 스크롤과 둘이 겹쳤다. 안쪽을
|
|
323
|
+
* 굴리다 끝에 닿으면 바깥이 굴러가고, 묶음의 아래쪽과 그 뒤의 최상위가 어디 있는지 알 수 없었다.
|
|
324
|
+
*
|
|
325
|
+
* 상한을 풀면 묶음은 자기 길이만큼 서고, 넘치는 것은 host 의 스크롤 하나(overflow-y: auto)가 받는다.
|
|
326
|
+
*/
|
|
316
327
|
:host li[active] > ul[settled] {
|
|
317
|
-
|
|
328
|
+
max-height: none;
|
|
329
|
+
overflow: visible;
|
|
318
330
|
}
|
|
319
331
|
|
|
320
332
|
:host li li a {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-portrait-styles.js","sourceRoot":"","sources":["../../src/menu-portrait-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8kBpC,CAAA","sourcesContent":["import { css } from 'lit'\n\n/**\n * 왼쪽 메뉴의 모양 — **한 벌이다.**\n *\n * ## 왜 한 벌인가\n *\n * 한때 둘이었다. 기존 모양(줄마다 밑줄 · 왼쪽 여백 16px · hover 에 굵기 변화)과 레일 모양\n * (라운드 알약 · 밑줄 없음 · 접을 수 있음). 같은 메뉴가 설정 하나로 딴 물건처럼 보였고, 무엇을\n * 어느 쪽에 두어야 하는지를 매번 판단해야 해서 **일곱 번 조용히 깨졌다.**\n *\n * 기존 모양은 접을 수도 없었다 — 줄마다 폭 전체를 쓰는 밑줄이 있고 왼쪽 여백이 16px 이라\n * 56px 에서 무너진다. 그래서 레일 펼친 모양을 기준으로 통일했다.\n *\n * ## 안에 세 변형이 있다\n *\n * ```\n * (기본) 늘 보이는 모양. 서랍도 이것이다\n * [collapsed] 접힌 레일 — 아이콘만. 하위는 팝업으로\n * .railpop 팝업 — 접힌 레일에서 하위로 가는 길, 그리고 시스템 항목의 자리\n * ```\n *\n * 무엇이 어느 변형에 걸리나는 `menu-mode.ts` 가 답한다. 여기서 그때그때 판단하지 않는다.\n *\n * ## 값의 출처\n *\n * `operato-twin` 의 레일(`twin-nav-rail`)이 쓰던 값이다. 값을 베끼지 않고 조정 지점으로 노출해\n * 앱이 자기 테마에 맞출 수 있게 둔다.\n */\nexport const MenuPortraitStyles = css`\n :host {\n /*\n * ── 조정 지점 ─────────────────────────────────────────────────────────\n * 폭은 여기 없다 — ox-menu-part 가 정한다. 셸이 크기를 재는 요소도 그것이고, 리사이즈\n * 손잡이가 인라인 폭을 쓰는 요소도 그것이다. 여기서 또 정하면 둘이 싸운다.\n * 폭 토큰(--menu-rail-width · --menu-rail-width-collapsed)은 앱이 위에서 준다.\n */\n --menu-rail-radius: 8px;\n --menu-rail-gap: 11px;\n --menu-rail-font-size: 13px;\n --menu-rail-font-weight: 560;\n --menu-rail-icon-size: 19px;\n /*\n * ── 줄의 세로 여백 ────────────────────────────────────────────────────\n * 줄 높이는 아이콘(20px)에 이 값의 두 배를 더한 것이다. 8px 이면 36px 줄이다.\n *\n * 항목이 스물 남짓인 레일은 그 높이로 화면을 넘긴다. 그때는 줄여 앉힌다 — 다 보이는 것이\n * 넉넉한 것보다 낫다. 다만 **줄이는 것은 앱이 고르는 값**이고, 화면 높이에 따라 저절로\n * 눌리게 두지 않는다.\n *\n * 저절로 눌리게 두면 창 높이마다 줄 높이가 달라진다. 실제로 그런 레일이 있었다 —\n * 창 1100 에서 33px · 800 에서 28px · 620 에서 16px 이 되어 아이콘이 뭉개졌다.\n *\n * 기본은 6.5px — 33px 줄이다. 두 제품이 같은 값을 골랐고, 앱마다 적어 두면 한쪽만 고쳐진다.\n */\n --menu-rail-row-pad: 6.5px;\n --menu-rail-surface: var(--md-sys-color-surface, #fff);\n --menu-rail-ink: var(--md-sys-color-on-surface, #17242c);\n --menu-rail-muted: var(--md-sys-color-on-surface-variant, #57676f);\n --menu-rail-faint: var(--md-sys-color-outline, #8a959c);\n --menu-rail-hover: var(--md-sys-color-surface-container-low, rgba(0, 0, 0, 0.04));\n --menu-rail-accent: var(--md-sys-color-primary, #0e8a56);\n --menu-rail-accent-wash: var(--md-sys-color-primary-container, rgba(14, 138, 86, 0.1));\n\n /*\n * ── 세로 단이다 ───────────────────────────────────────────────────────\n * 이 셋이 없으면 gap 이 안 먹고, **바닥에 붙이는 빈 자리가 자라지 않아** 시스템 줄이 목록\n * 바로 뒤에 붙는다. 두 스타일 파일을 합칠 때 이것을 잃어 그 증상이 났다.\n */\n display: flex;\n flex-direction: column;\n height: 100%;\n\n box-sizing: border-box;\n width: 100%;\n background-color: var(--menu-rail-surface);\n padding: 10px 8px;\n gap: 2px;\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n /*\n * 하위가 펼쳐져 있으면 최상위의 합계를 감춘다.\n *\n * 그 아래에 낱개 건수가 다 보이므로 같은 말을 두 번 하는 것이고, 합계와 낱개가 나란히 있으면\n * 「합계가 저 셋과 다른 무엇인가」를 한 번 생각하게 만든다.\n *\n * 최상위에만 건다 — 하위 항목도 지금 페이지이면 active 를 단다. 그래서 [top] 으로 가른다.\n *\n * 접혔을 때는 감추지 않는다 — 낱개가 안 보이므로 합계가 유일한 신호다.\n *\n * [branch] 도 함께 본다 — 하위가 있는 항목만이다. 이게 없을 때 잎 항목(「할 일」·「내 결재함」)이\n * 자기가 지금 페이지가 되는 순간 건수가 사라졌다. 감출 근거가 「그 수를 아래에서 다시 보여\n * 주니까」인데, 잎에는 아래가 없어서 그냥 없어지는 것이었다. [확인함] 2026-09-07 화면\n */\n :host(:not([collapsed])) li[top][active][branch] > a [badge] {\n display: none;\n }\n\n :host ul {\n display: flex;\n flex-direction: column;\n gap: 2px;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n /* 묶음 이름 — 접히면 자리가 없다. */\n :host [group-label] {\n padding: 10px 10px 4px;\n border: none;\n font-family: var(--theme-font-mono, monospace);\n font-size: 9.5px;\n font-weight: 400;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: var(--menu-rail-faint);\n }\n\n /* 접히면 자리가 없다 — 레일 안쪽만. 팝업 안의 묶음 이름은 그대로 보인다. */\n :host([collapsed]) > [group-label],\n :host([collapsed]) > ul [group-label] {\n display: none;\n }\n\n :host a {\n display: flex;\n align-items: center;\n gap: var(--menu-rail-gap);\n padding: var(--menu-rail-row-pad) 11px;\n /*\n * **줄어들지 않는다.** 목록이 화면보다 길면 겉 상자가 구르면 되고, 줄이 눌릴 일이 아니다.\n * 이것이 없으면 창 높이에 따라 줄 높이가 달라진다(위 --menu-rail-row-pad 머리말).\n */\n flex: none;\n border: none;\n border-radius: var(--menu-rail-radius);\n font: var(--menu-rail-font-weight) var(--menu-rail-font-size) var(--theme-font, inherit);\n color: var(--menu-rail-muted);\n text-decoration: none;\n text-transform: none;\n white-space: nowrap;\n overflow: hidden;\n }\n\n /*\n * hover 에서 굵기를 바꾸지 않는다. 기존 모양은 a:hover { font-weight: bold } 여서 마우스가\n * 지날 때마다 글자 폭이 늘어 줄이 흔들렸다. 색만 바꾼다.\n */\n :host a:hover {\n background-color: var(--menu-rail-hover);\n color: var(--menu-rail-ink);\n font-weight: var(--menu-rail-font-weight);\n }\n\n :host a md-icon {\n --md-icon-size: var(--menu-rail-icon-size);\n\n flex: none;\n width: 20px;\n min-width: 20px;\n height: 20px;\n margin: 0;\n opacity: 1;\n overflow: hidden;\n color: var(--menu-rail-faint);\n }\n\n /*\n * ── 지금 페이지 ─────────────────────────────────────────────────────────\n * 어느 층이든 **지금 보고 있는 그 줄**에만 강조를 준다. 층으로 가르지 않는다 — 최상위가 그\n * 자리일 수도 있고(하위가 없는 묶음) 하위가 그 자리일 수도 있다.\n */\n :host li[current] > a {\n border-left: none;\n background-color: var(--menu-rail-accent-wash);\n color: var(--menu-rail-ink);\n font-weight: 700;\n }\n\n :host li[current] > a md-icon {\n color: var(--menu-rail-accent);\n }\n\n /*\n * ── 펼쳐진 최상위 ───────────────────────────────────────────────────────\n * **강조하지 않는다.** 최상위의 active 는 「하위가 펼쳐져 있다」는 여닫힘이고, 지금 페이지는\n * 그 안의 한 줄이다. 둘에 같은 강조를 주면 두 줄이 나란히 강조되어 어느 쪽이 지금 자리인지\n * 흐려진다.\n *\n * 그래도 옅게는 둔다 — 접힌 화살표와 함께 「여기가 열려 있다」를 말한다.\n */\n :host(:not([collapsed])) li[top][active]:not([current]) > a {\n background-color: transparent;\n color: var(--menu-rail-ink);\n }\n\n :host(:not([collapsed])) li[top][active]:not([current]) > a md-icon {\n color: var(--menu-rail-ink);\n }\n\n /*\n * ── 접히면 최상위가 대신 말한다 ─────────────────────────────────────────\n * 하위가 감춰지므로 지금 자리를 말할 줄이 최상위뿐이다. 그때는 최상위가 강조를 받는다.\n */\n :host([collapsed]) li[top][active] > a {\n background-color: var(--menu-rail-accent-wash);\n color: var(--menu-rail-ink);\n }\n\n :host([collapsed]) li[top][active] > a md-icon {\n color: var(--menu-rail-accent);\n }\n\n /*\n * ── 팝업을 연 항목 ─────────────────────────────────────────────────────\n * active(지금 페이지)와 **다른 뜻**이라 다른 표시를 준다. 접힌 레일에서 강조된 아이콘은\n * 「지금 페이지」만 뜻하므로, 이 표시가 없으면 어느 항목의 팝업인지 알 수 없다.\n *\n * 강조색을 쓰지 않는다 — 그 색은 지금 페이지의 것이다. 대신 글자·아이콘을 짙게 하고 팝업과\n * 같은 면색으로 칠해 팝업의 연장으로 읽히게 한다.\n */\n :host li[popped] > a {\n background-color: var(--menu-rail-hover);\n color: var(--menu-rail-ink);\n }\n\n :host li[popped] > a md-icon {\n color: var(--menu-rail-ink);\n }\n\n /* 지금 페이지이면서 팝업까지 연 경우 — 강조색이 이긴다(그것이 더 드문 사실이다). */\n :host li[current][popped] > a,\n :host([collapsed]) li[top][active][popped] > a {\n background-color: var(--menu-rail-accent-wash);\n }\n\n :host li[current][popped] > a md-icon,\n :host([collapsed]) li[top][active][popped] > a md-icon {\n color: var(--menu-rail-accent);\n }\n\n /*\n * ── 하위가 있다는 표시 ──────────────────────────────────────────────────\n * **이 화살표가 곧 「나는 묶음이다」이다.** 없으면 최상위 줄만 보고 하위를 가졌는지, 자기가\n * 끝인지 알 수 없다 — 눌러 봐야 안다.\n *\n * 글자는 md-icon 의 내용이 아니라 여기서 준다. 두 스타일 파일을 합칠 때 이 ::before 를\n * 잃었고, 그래서 <md-icon submenu-button> 이 **빈 채로 남아 화살표가 사라졌다.**\n * 아이콘 이름을 컴포넌트로 옮기지 않는 이유는, 접힘·팝업마다 다르게 두는 것이 이 파일의\n * 일이기 때문이다.\n */\n :host a [submenu-button] {\n margin-left: auto;\n --md-icon-size: 16px;\n width: 16px;\n min-width: 16px;\n color: var(--menu-rail-faint);\n transition: transform 0.2s ease;\n }\n\n :host a [submenu-button]::before {\n content: 'chevron_right';\n }\n\n /* 펼쳐지면 아래를 가리킨다 — 화살표 하나로 여닫힘까지 말한다. */\n :host li[active] > a [submenu-button] {\n transform: rotate(90deg);\n color: var(--menu-rail-ink);\n }\n\n /* 접히면 하위가 팝업으로 뜬다. 56px 안에 화살표를 둘 자리도 없다. */\n :host([collapsed]) > ul li a [submenu-button] {\n display: none;\n }\n\n :host a > span {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n /*\n * ── 접으면 이름을 감춘다 — **레일 안쪽만** ─────────────────────────────\n * 팝업은 같은 shadow root 안의 **형제**다(.railpop). 그래서 li 로만 좁히면 팝업 줄도\n * 함께 걸려 **아이콘만 남는다** — 접힌 레일에서 팝업은 이름을 읽으러 여는 자리인데.\n *\n * > ul 로 좁힌다. 레일의 목록과 시스템 목록은 host 의 직계 자식이고, 팝업의 목록은\n * .railpop 안에 있다. 이 한 칸이 두 자리를 가른다.\n */\n :host([collapsed]) > ul li a > span {\n display: none;\n }\n\n :host([collapsed]) > ul li a {\n justify-content: center;\n gap: 0;\n padding: var(--menu-rail-row-pad) 0;\n }\n\n /* ── 하위 메뉴 — 펼친 상태에서는 그 자리에서 열린다 ────────────────── */\n :host li > ul {\n overflow: hidden;\n max-height: 0;\n background: none;\n padding-left: 20px;\n transition: max-height 0.24s ease;\n }\n\n :host li[active] > ul {\n max-height: 640px;\n }\n\n :host li[active] > ul[settled] {\n overflow-y: auto;\n }\n\n :host li li a {\n padding: calc(var(--menu-rail-row-pad) - 2px) 11px;\n font-size: 12.5px;\n color: var(--menu-rail-muted);\n }\n\n\n /*\n * 접히면 하위를 그 자리에서 열지 않는다. 56px 안에서는 들여쓴 목록이 읽히지 않는다.\n * 대신 팝업으로 뜬다 — .railpop 이 그 자리다.\n */\n :host([collapsed]) > ul li > ul {\n display: none;\n }\n\n /* ── 건수 ──────────────────────────────────────────────────────────── */\n /*\n * **메뉴에서 유일하게 색을 갖는 자리다.**\n *\n * 나머지는 무채색이다 — 틀은 자리를 말하고, 색은 「무엇이 나를 기다리나」에만 쓴다. 건수가 바로\n * 그것이라 여기에 제품의 강조색을 준다.\n *\n * 색을 --menu-rail-accent 에서 가져오지 않는다. 그 이름은 지금 페이지 표시에도 쓰이고, 그것까지\n * 강조색이 되면 메뉴 전체가 물든다. 배지만 따로 든다.\n *\n * 순서는 앱 토큰이 먼저다(--ui-accent). md 의 primary 는 앱마다 뜻이 다르다 — operato-twin 에서는\n * 브랜드 청록이지만 operato-plant 에서는 **진회색**이라, primary 를 쓰면 한쪽에서만 색이 나온다.\n * 실제로 그랬다.\n *\n * 글자색은 짝으로 온다. 강조색 위에 흰 글자를 늘 올리면 어두운 테마의 밝은 초록에서 대비가\n * 2.24 로 떨어진다 — 그 테마는 짙은 글자를 짝으로 둔다.\n */\n :host a [badge] {\n margin-left: auto;\n min-width: 18px;\n padding: 0 5px;\n border-radius: 9px;\n background-color: var(--menu-rail-badge, var(--ui-accent, var(--md-sys-color-primary, #0c7a4c)));\n color: var(--menu-rail-badge-ink, var(--ui-on-accent, var(--md-sys-color-on-primary, #ffffff)));\n font-family: var(--theme-font-mono, monospace);\n font-size: 10.5px;\n font-weight: 700;\n line-height: 17px;\n text-align: center;\n }\n\n /*\n * 접히면 라벨이 없어 옆에 둘 자리가 없다. 아이콘 위에 겹친다.\n *\n * 이것도 **레일 안쪽만**이다. 팝업에는 이름이 있으니 건수가 그 오른쪽에 알약으로 선다 —\n * 위의 기본 규칙이 그대로 맞다.\n */\n :host([collapsed]) > ul li[menu] {\n position: relative;\n }\n\n :host([collapsed]) > ul li a [badge] {\n position: absolute;\n top: 0;\n right: 2px;\n margin-left: 0;\n /*\n * 글자를 9.5px 에서 10px 로 올린다. 링이 아이콘을 밀어내 준 만큼 숫자에 자리를 줄 수 있다 —\n * 접힌 레일에서 이 숫자가 유일한 신호이므로 읽히는 것이 먼저다.\n */\n min-width: 15px;\n padding: 0 3px;\n font-size: 10px;\n line-height: 15px;\n /*\n * **배경색 링으로 아이콘을 밀어낸다.**\n *\n * 56px 안에서는 배지가 아이콘 위에 겹칠 수밖에 없다. 겹친 자리에서 아이콘의 선이 배지의\n * 글자를 지나가면 숫자가 안 읽힌다. 링이 그 사이를 끊는다 — 아이콘을 지운 것처럼 보인다.\n *\n * 링 색은 레일의 면색이다. 고른 항목은 배경이 accent-wash 여서 정확히 같지는 않지만, 그\n * 색이 아주 옅어 눈에 걸리지 않는다.\n */\n box-shadow: 0 0 0 2px var(--menu-rail-surface);\n }\n\n /*\n * **값이 아직 안 온 동안**만 자리를 비운다.\n *\n * 알약을 그릴지는 배지 정의가 있나로 정해지고, 그 안의 값은 조금 뒤에 채워진다. 그 사이 빈\n * 알약이 아이콘 위에 뜻 없는 점으로 남는다.\n *\n * **0 은 값이다.** 0 이면 0 을 보인다 — 「기다리는 것이 없다」도 사람이 알아야 하는 사실이고,\n * 그 자리가 비어 있으면 「아직 안 왔나」와 구별되지 않는다.\n */\n :host a [badge]:empty {\n display: none;\n }\n\n /*\n * Zero keeps its place and loses the signal.\n *\n * The filled accent pill means \"there is something here for you\". 작성 중 0 wore exactly the same\n * one as 할 일 9 — rgb(12,122,76), 28x17 — so a column of them read as four things waiting.\n *\n * Hiding zero is not the answer: an empty slot cannot be told apart from a count that has not\n * arrived yet (see the rule above). So the number stays and the pill goes quiet.\n *\n * ── The quiet is in the pill, not in the ink (2026-09-19) ──────────────────\n * The ink was --ui-faint, the palest text token, and the pill is a raised surface. Faint ink is\n * meant for the page surface; on the raised one it loses about a quarter of a step. Measured on\n * the operato products' greys: 4.48:1 at 10.5px, just under the 4.5 this size needs. Nobody sees\n * that by looking - it was written here as \"still readable\" without a number.\n *\n * The ink is now --ui-muted, which measures 7.70:1 light and 8.49:1 dark on the same pill. The\n * signal a count carries is the accent fill; a grey pill is already the quiet one, and the number\n * inside it does not have to be faint as well to say \"nothing is waiting\".\n */\n :host a [badge][zero] {\n background-color: var(--menu-rail-badge-zero, var(--ui-line-soft, #e6eaed));\n color: var(--menu-rail-badge-zero-ink, var(--ui-muted, #57676f));\n font-weight: 500;\n }\n\n /* ── 시스템 자리 ───────────────────────────────────────────────────── */\n /*\n * 빈 자리로 벌린다 — 시스템 항목이 바닥에 붙는다.\n *\n * 목록이 화면보다 길면 이 자리가 0 이 되고 시스템은 목록 끝에 그대로 이어진다.\n * flex: 1 1 auto 가 아니라 flex: 1 1 0 이라야 그렇게 된다 — auto 면 이 빈 칸이 자기\n * 높이를 주장해 목록이 밀린다.\n *\n * **레일 전용이 아니다.** 한때 [rail] 에 걸어 두고 「바닥에 붙이는 것은 폭이 좁을 때의\n * 배치」라고 적었는데, 그건 지어낸 이유였다. 서랍도 화면 높이를 다 쓰므로 시스템이 바닥에\n * 붙는 뜻이 같다.\n */\n :host .railspacer {\n flex: 1 1 0;\n min-height: 0;\n }\n\n /*\n * 시스템 단추의 스타일은 여기에 없다 — **보통 메뉴 줄로 그린다.**\n *\n * 전에는 button.railitem 으로 따로 그리고 그 꾸밈을 여기에 두었다. 그러면 레일이 아닌\n * 모양에서는 꾸밈이 없다. ul > li > a 로 두면 위의 규칙들이 그대로 붙는다 — 여백 · 색 ·\n * hover · 접힘 · 화살표 · 팝업 표시까지.\n */\n\n /* ── 접기 단추 ─────────────────────────────────────────────────────── */\n :host .railtoggle {\n display: flex;\n align-items: center;\n gap: var(--menu-rail-gap);\n width: 100%;\n box-sizing: border-box;\n margin-bottom: 4px;\n padding: 8px 11px;\n border: none;\n border-radius: var(--menu-rail-radius);\n background: none;\n color: var(--menu-rail-faint);\n font: var(--menu-rail-font-weight) var(--menu-rail-font-size) var(--theme-font, inherit);\n text-align: left;\n cursor: pointer;\n }\n\n :host .railtoggle:hover {\n background-color: var(--menu-rail-hover);\n color: var(--menu-rail-ink);\n }\n\n :host .railtoggle md-icon {\n --md-icon-size: var(--menu-rail-icon-size);\n\n flex: none;\n width: 20px;\n min-width: 20px;\n color: inherit;\n }\n\n :host([collapsed]) .railtoggle {\n justify-content: center;\n gap: 0;\n padding: 8px 0;\n }\n\n :host([collapsed]) .railtoggle span {\n display: none;\n }\n\n /*\n * ── 하위 메뉴 팝업 ──────────────────────────────────────────────────────\n * **레일 전용이 아니다.** 접힌 레일에서 하위로 가는 길이기도 하고, 시스템 항목(주소가 아니라\n * 함수)의 자리이기도 하다. 시스템은 어느 모양에서든 팝업으로 열리므로 [rail] 에 걸지 않는다.\n */\n /*\n * fixed 다 — 레일은 overflow-x: hidden 이라 안에서 띄우면 잘린다.\n *\n * 그리고 팝업은 같은 shadow root 안에 있다. 그래서 위의 접힘 규칙들은 **> ul 로 좁혀 둔다** —\n * 좁히지 않으면 a > span 의 display: none 이 팝업 항목의 이름까지 지우고, 가운데 정렬과\n * 여백 0 이 같이 걸려 **아이콘만 남는다.** 한때 li 로만 좁혀 두었는데, 팝업 줄도 li 라서\n * 아무것도 가리지 못했다.\n */\n :host .railpop {\n position: fixed;\n z-index: 60;\n min-width: 190px;\n /*\n * 70vh 였다. 그러면 열여섯 줄짜리 목록이 화면에 다 들어가는데도 스크롤이 생긴다.\n * 자리는 fitPopup 이 맞추므로, 여기서는 **화면이 허락하는 만큼**만 잘라 둔다.\n */\n max-height: calc(100vh - 16px);\n overflow-y: auto;\n box-sizing: border-box;\n padding: 6px;\n /*\n * 테두리는 **선 색**이다. 표면색으로 두면 경계가 안 보여 레일에서 흘러나온 것처럼 읽힌다.\n * 그림자만으로는 밝은 테마에서 약하다.\n */\n border: 1px solid var(--menu-rail-line, var(--md-sys-color-outline-variant, rgba(0, 0, 0, 0.15)));\n border-radius: 10px;\n background-color: var(--menu-rail-surface);\n box-shadow: 0 8px 30px rgba(0, 0, 0, 0.22);\n }\n\n /*\n * 노브 — 팝업이 어느 항목에서 열렸는지 가리킨다.\n *\n * 45도 돌린 정사각이다. 왼쪽 두 변만 테두리를 두어 팝업의 왼쪽 선에서 뾰족하게 나오고,\n * 배경은 팝업과 같은 면색이라 팝업의 선이 그 자리에서 끊긴 것처럼 보인다.\n *\n * 자리(top)는 fitKnob 이 정한다. 팝업이 위로 밀려 그 항목이 팝업의 세로 범위 밖에 있으면\n * hidden 이 붙는다 — 아무 데도 가리키지 못하는 화살은 없는 것이 낫다.\n */\n :host .railknob {\n /*\n * **fixed 다 — 팝업 안에 두면 잘린다.** 팝업은 목록이 길 때 스크롤해야 해서\n * overflow-y: auto 이고, 그러면 브라우저가 overflow-x 도 auto 로 계산한다. 노브는 팝업의\n * 왼쪽 선 밖으로 나가야 하므로 그 스크롤 박스에 잘렸다. 자리는 fitKnob 이 화면 좌표로 준다.\n */\n position: fixed;\n z-index: 61;\n width: 10px;\n height: 10px;\n transform: rotate(45deg);\n /*\n * 선과 면이 **팝업과 같다.** 팝업의 왼쪽 선에 반쯤 물리면 그 선이 그 자리에서 뾰족하게\n * 꺾인 것처럼 보인다 — 따로 붙은 장식이 아니라 팝업의 일부다.\n *\n * 선을 한 단 진하게 하고 크게 하고 그림자까지 얹어 봤다. 눈에는 더 잡히는데 팝업에서\n * 떨어진 부품처럼 보였다. 선을 아예 없애 봤더니 팝업의 선이 끊긴 틈으로만 남아 약했다.\n *\n * 안 보였던 원인은 색도 크기도 아니라 **잘림**이었다(position: fixed 로 고쳤다).\n */\n border-left: 1px solid var(--menu-rail-line, var(--md-sys-color-outline-variant, rgba(0, 0, 0, 0.15)));\n border-bottom: 1px solid var(--menu-rail-line, var(--md-sys-color-outline-variant, rgba(0, 0, 0, 0.15)));\n background-color: var(--menu-rail-surface);\n }\n\n :host .railpop .phead {\n padding: 6px 10px 4px;\n font-family: var(--theme-font-mono, monospace);\n font-size: 9.5px;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: var(--menu-rail-faint);\n }\n\n :host .railpop a {\n padding: 8px 10px;\n border-radius: 7px;\n font-size: 12.5px;\n }\n\n /*\n * 팝업 안의 지금 페이지에 대한 규칙은 **여기 없다.**\n *\n * 팝업도 renderMenus 가 그리므로 줄이 li[current] > a 다. 위의 규칙이 그대로 닿는다.\n * 한때 팝업 줄을 a[current] 로 따로 그렸고 그 규칙이 여기 남아 있었는데, 모양이 바뀐 뒤\n * 아무것에도 걸리지 않는 죽은 줄이었다.\n */\n\n /*\n * ── 손가락으로 누르는 화면 ──────────────────────────────────────────────\n * 폭이 아니라 **입력 장치**로 가른다. 좁은 창에서 마우스를 쓰는 사람에게 줄을 키울 이유는\n * 없고, 넓은 태블릿에서 손가락으로 누르는 사람에게는 키워야 한다.\n *\n * 기존 모양은 max-width: 460px 으로 갈랐다. 그건 「좁으면 휴대폰일 것」이라는 짐작이다.\n */\n @media (pointer: coarse) {\n :host {\n --menu-rail-font-size: 15px;\n }\n\n :host a,\n :host .railitem {\n padding: 12px 11px;\n }\n\n :host li li a {\n padding: 10px 11px;\n }\n }\n`\n"]}
|
|
1
|
+
{"version":3,"file":"menu-portrait-styles.js","sourceRoot":"","sources":["../../src/menu-portrait-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0lBpC,CAAA","sourcesContent":["import { css } from 'lit'\n\n/**\n * 왼쪽 메뉴의 모양 — **한 벌이다.**\n *\n * ## 왜 한 벌인가\n *\n * 한때 둘이었다. 기존 모양(줄마다 밑줄 · 왼쪽 여백 16px · hover 에 굵기 변화)과 레일 모양\n * (라운드 알약 · 밑줄 없음 · 접을 수 있음). 같은 메뉴가 설정 하나로 딴 물건처럼 보였고, 무엇을\n * 어느 쪽에 두어야 하는지를 매번 판단해야 해서 **일곱 번 조용히 깨졌다.**\n *\n * 기존 모양은 접을 수도 없었다 — 줄마다 폭 전체를 쓰는 밑줄이 있고 왼쪽 여백이 16px 이라\n * 56px 에서 무너진다. 그래서 레일 펼친 모양을 기준으로 통일했다.\n *\n * ## 안에 세 변형이 있다\n *\n * ```\n * (기본) 늘 보이는 모양. 서랍도 이것이다\n * [collapsed] 접힌 레일 — 아이콘만. 하위는 팝업으로\n * .railpop 팝업 — 접힌 레일에서 하위로 가는 길, 그리고 시스템 항목의 자리\n * ```\n *\n * 무엇이 어느 변형에 걸리나는 `menu-mode.ts` 가 답한다. 여기서 그때그때 판단하지 않는다.\n *\n * ## 값의 출처\n *\n * `operato-twin` 의 레일(`twin-nav-rail`)이 쓰던 값이다. 값을 베끼지 않고 조정 지점으로 노출해\n * 앱이 자기 테마에 맞출 수 있게 둔다.\n */\nexport const MenuPortraitStyles = css`\n :host {\n /*\n * ── 조정 지점 ─────────────────────────────────────────────────────────\n * 폭은 여기 없다 — ox-menu-part 가 정한다. 셸이 크기를 재는 요소도 그것이고, 리사이즈\n * 손잡이가 인라인 폭을 쓰는 요소도 그것이다. 여기서 또 정하면 둘이 싸운다.\n * 폭 토큰(--menu-rail-width · --menu-rail-width-collapsed)은 앱이 위에서 준다.\n */\n --menu-rail-radius: 8px;\n --menu-rail-gap: 11px;\n --menu-rail-font-size: 13px;\n --menu-rail-font-weight: 560;\n --menu-rail-icon-size: 19px;\n /*\n * ── 줄의 세로 여백 ────────────────────────────────────────────────────\n * 줄 높이는 아이콘(20px)에 이 값의 두 배를 더한 것이다. 8px 이면 36px 줄이다.\n *\n * 항목이 스물 남짓인 레일은 그 높이로 화면을 넘긴다. 그때는 줄여 앉힌다 — 다 보이는 것이\n * 넉넉한 것보다 낫다. 다만 **줄이는 것은 앱이 고르는 값**이고, 화면 높이에 따라 저절로\n * 눌리게 두지 않는다.\n *\n * 저절로 눌리게 두면 창 높이마다 줄 높이가 달라진다. 실제로 그런 레일이 있었다 —\n * 창 1100 에서 33px · 800 에서 28px · 620 에서 16px 이 되어 아이콘이 뭉개졌다.\n *\n * 기본은 6.5px — 33px 줄이다. 두 제품이 같은 값을 골랐고, 앱마다 적어 두면 한쪽만 고쳐진다.\n */\n --menu-rail-row-pad: 6.5px;\n --menu-rail-surface: var(--md-sys-color-surface, #fff);\n --menu-rail-ink: var(--md-sys-color-on-surface, #17242c);\n --menu-rail-muted: var(--md-sys-color-on-surface-variant, #57676f);\n --menu-rail-faint: var(--md-sys-color-outline, #8a959c);\n --menu-rail-hover: var(--md-sys-color-surface-container-low, rgba(0, 0, 0, 0.04));\n --menu-rail-accent: var(--md-sys-color-primary, #0e8a56);\n --menu-rail-accent-wash: var(--md-sys-color-primary-container, rgba(14, 138, 86, 0.1));\n\n /*\n * ── 세로 단이다 ───────────────────────────────────────────────────────\n * 이 셋이 없으면 gap 이 안 먹고, **바닥에 붙이는 빈 자리가 자라지 않아** 시스템 줄이 목록\n * 바로 뒤에 붙는다. 두 스타일 파일을 합칠 때 이것을 잃어 그 증상이 났다.\n */\n display: flex;\n flex-direction: column;\n height: 100%;\n\n box-sizing: border-box;\n width: 100%;\n background-color: var(--menu-rail-surface);\n padding: 10px 8px;\n gap: 2px;\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n /*\n * 하위가 펼쳐져 있으면 최상위의 합계를 감춘다.\n *\n * 그 아래에 낱개 건수가 다 보이므로 같은 말을 두 번 하는 것이고, 합계와 낱개가 나란히 있으면\n * 「합계가 저 셋과 다른 무엇인가」를 한 번 생각하게 만든다.\n *\n * 최상위에만 건다 — 하위 항목도 지금 페이지이면 active 를 단다. 그래서 [top] 으로 가른다.\n *\n * 접혔을 때는 감추지 않는다 — 낱개가 안 보이므로 합계가 유일한 신호다.\n *\n * [branch] 도 함께 본다 — 하위가 있는 항목만이다. 이게 없을 때 잎 항목(「할 일」·「내 결재함」)이\n * 자기가 지금 페이지가 되는 순간 건수가 사라졌다. 감출 근거가 「그 수를 아래에서 다시 보여\n * 주니까」인데, 잎에는 아래가 없어서 그냥 없어지는 것이었다. [확인함] 2026-09-07 화면\n */\n :host(:not([collapsed])) li[top][active][branch] > a [badge] {\n display: none;\n }\n\n :host ul {\n display: flex;\n flex-direction: column;\n gap: 2px;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n /* 묶음 이름 — 접히면 자리가 없다. */\n :host [group-label] {\n padding: 10px 10px 4px;\n border: none;\n font-family: var(--theme-font-mono, monospace);\n font-size: 9.5px;\n font-weight: 400;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: var(--menu-rail-faint);\n }\n\n /* 접히면 자리가 없다 — 레일 안쪽만. 팝업 안의 묶음 이름은 그대로 보인다. */\n :host([collapsed]) > [group-label],\n :host([collapsed]) > ul [group-label] {\n display: none;\n }\n\n :host a {\n display: flex;\n align-items: center;\n gap: var(--menu-rail-gap);\n padding: var(--menu-rail-row-pad) 11px;\n /*\n * **줄어들지 않는다.** 목록이 화면보다 길면 겉 상자가 구르면 되고, 줄이 눌릴 일이 아니다.\n * 이것이 없으면 창 높이에 따라 줄 높이가 달라진다(위 --menu-rail-row-pad 머리말).\n */\n flex: none;\n border: none;\n border-radius: var(--menu-rail-radius);\n font: var(--menu-rail-font-weight) var(--menu-rail-font-size) var(--theme-font, inherit);\n color: var(--menu-rail-muted);\n text-decoration: none;\n text-transform: none;\n white-space: nowrap;\n overflow: hidden;\n }\n\n /*\n * hover 에서 굵기를 바꾸지 않는다. 기존 모양은 a:hover { font-weight: bold } 여서 마우스가\n * 지날 때마다 글자 폭이 늘어 줄이 흔들렸다. 색만 바꾼다.\n */\n :host a:hover {\n background-color: var(--menu-rail-hover);\n color: var(--menu-rail-ink);\n font-weight: var(--menu-rail-font-weight);\n }\n\n :host a md-icon {\n --md-icon-size: var(--menu-rail-icon-size);\n\n flex: none;\n width: 20px;\n min-width: 20px;\n height: 20px;\n margin: 0;\n opacity: 1;\n overflow: hidden;\n color: var(--menu-rail-faint);\n }\n\n /*\n * ── 지금 페이지 ─────────────────────────────────────────────────────────\n * 어느 층이든 **지금 보고 있는 그 줄**에만 강조를 준다. 층으로 가르지 않는다 — 최상위가 그\n * 자리일 수도 있고(하위가 없는 묶음) 하위가 그 자리일 수도 있다.\n */\n :host li[current] > a {\n border-left: none;\n background-color: var(--menu-rail-accent-wash);\n color: var(--menu-rail-ink);\n font-weight: 700;\n }\n\n :host li[current] > a md-icon {\n color: var(--menu-rail-accent);\n }\n\n /*\n * ── 펼쳐진 최상위 ───────────────────────────────────────────────────────\n * **강조하지 않는다.** 최상위의 active 는 「하위가 펼쳐져 있다」는 여닫힘이고, 지금 페이지는\n * 그 안의 한 줄이다. 둘에 같은 강조를 주면 두 줄이 나란히 강조되어 어느 쪽이 지금 자리인지\n * 흐려진다.\n *\n * 그래도 옅게는 둔다 — 접힌 화살표와 함께 「여기가 열려 있다」를 말한다.\n */\n :host(:not([collapsed])) li[top][active]:not([current]) > a {\n background-color: transparent;\n color: var(--menu-rail-ink);\n }\n\n :host(:not([collapsed])) li[top][active]:not([current]) > a md-icon {\n color: var(--menu-rail-ink);\n }\n\n /*\n * ── 접히면 최상위가 대신 말한다 ─────────────────────────────────────────\n * 하위가 감춰지므로 지금 자리를 말할 줄이 최상위뿐이다. 그때는 최상위가 강조를 받는다.\n */\n :host([collapsed]) li[top][active] > a {\n background-color: var(--menu-rail-accent-wash);\n color: var(--menu-rail-ink);\n }\n\n :host([collapsed]) li[top][active] > a md-icon {\n color: var(--menu-rail-accent);\n }\n\n /*\n * ── 팝업을 연 항목 ─────────────────────────────────────────────────────\n * active(지금 페이지)와 **다른 뜻**이라 다른 표시를 준다. 접힌 레일에서 강조된 아이콘은\n * 「지금 페이지」만 뜻하므로, 이 표시가 없으면 어느 항목의 팝업인지 알 수 없다.\n *\n * 강조색을 쓰지 않는다 — 그 색은 지금 페이지의 것이다. 대신 글자·아이콘을 짙게 하고 팝업과\n * 같은 면색으로 칠해 팝업의 연장으로 읽히게 한다.\n */\n :host li[popped] > a {\n background-color: var(--menu-rail-hover);\n color: var(--menu-rail-ink);\n }\n\n :host li[popped] > a md-icon {\n color: var(--menu-rail-ink);\n }\n\n /* 지금 페이지이면서 팝업까지 연 경우 — 강조색이 이긴다(그것이 더 드문 사실이다). */\n :host li[current][popped] > a,\n :host([collapsed]) li[top][active][popped] > a {\n background-color: var(--menu-rail-accent-wash);\n }\n\n :host li[current][popped] > a md-icon,\n :host([collapsed]) li[top][active][popped] > a md-icon {\n color: var(--menu-rail-accent);\n }\n\n /*\n * ── 하위가 있다는 표시 ──────────────────────────────────────────────────\n * **이 화살표가 곧 「나는 묶음이다」이다.** 없으면 최상위 줄만 보고 하위를 가졌는지, 자기가\n * 끝인지 알 수 없다 — 눌러 봐야 안다.\n *\n * 글자는 md-icon 의 내용이 아니라 여기서 준다. 두 스타일 파일을 합칠 때 이 ::before 를\n * 잃었고, 그래서 <md-icon submenu-button> 이 **빈 채로 남아 화살표가 사라졌다.**\n * 아이콘 이름을 컴포넌트로 옮기지 않는 이유는, 접힘·팝업마다 다르게 두는 것이 이 파일의\n * 일이기 때문이다.\n */\n :host a [submenu-button] {\n margin-left: auto;\n --md-icon-size: 16px;\n width: 16px;\n min-width: 16px;\n color: var(--menu-rail-faint);\n transition: transform 0.2s ease;\n }\n\n :host a [submenu-button]::before {\n content: 'chevron_right';\n }\n\n /* 펼쳐지면 아래를 가리킨다 — 화살표 하나로 여닫힘까지 말한다. */\n :host li[active] > a [submenu-button] {\n transform: rotate(90deg);\n color: var(--menu-rail-ink);\n }\n\n /* 접히면 하위가 팝업으로 뜬다. 56px 안에 화살표를 둘 자리도 없다. */\n :host([collapsed]) > ul li a [submenu-button] {\n display: none;\n }\n\n :host a > span {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n /*\n * ── 접으면 이름을 감춘다 — **레일 안쪽만** ─────────────────────────────\n * 팝업은 같은 shadow root 안의 **형제**다(.railpop). 그래서 li 로만 좁히면 팝업 줄도\n * 함께 걸려 **아이콘만 남는다** — 접힌 레일에서 팝업은 이름을 읽으러 여는 자리인데.\n *\n * > ul 로 좁힌다. 레일의 목록과 시스템 목록은 host 의 직계 자식이고, 팝업의 목록은\n * .railpop 안에 있다. 이 한 칸이 두 자리를 가른다.\n */\n :host([collapsed]) > ul li a > span {\n display: none;\n }\n\n :host([collapsed]) > ul li a {\n justify-content: center;\n gap: 0;\n padding: var(--menu-rail-row-pad) 0;\n }\n\n /* ── 하위 메뉴 — 펼친 상태에서는 그 자리에서 열린다 ────────────────── */\n :host li > ul {\n overflow: hidden;\n max-height: 0;\n background: none;\n padding-left: 20px;\n transition: max-height 0.24s ease;\n }\n\n /*\n * 640px 는 **펼치는 동안의 움직임**을 위한 값이다 — max-height 는 none 으로 옮겨 가며 움직일 수 없다.\n */\n :host li[active] > ul {\n max-height: 640px;\n }\n\n /*\n * ── 다 펼쳐지면 상한을 푼다 — 스크롤은 메뉴 전체에 하나뿐이다 ──────────────\n * 전에는 여기서 overflow-y: auto 로 두었다. 하위가 640px 을 넘으면(관리 묶음이 스물한 줄이었다,\n * operato-ecs 2026-09-24) 그 묶음 안에만 스크롤이 생겨, 메뉴 전체의 스크롤과 둘이 겹쳤다. 안쪽을\n * 굴리다 끝에 닿으면 바깥이 굴러가고, 묶음의 아래쪽과 그 뒤의 최상위가 어디 있는지 알 수 없었다.\n *\n * 상한을 풀면 묶음은 자기 길이만큼 서고, 넘치는 것은 host 의 스크롤 하나(overflow-y: auto)가 받는다.\n */\n :host li[active] > ul[settled] {\n max-height: none;\n overflow: visible;\n }\n\n :host li li a {\n padding: calc(var(--menu-rail-row-pad) - 2px) 11px;\n font-size: 12.5px;\n color: var(--menu-rail-muted);\n }\n\n\n /*\n * 접히면 하위를 그 자리에서 열지 않는다. 56px 안에서는 들여쓴 목록이 읽히지 않는다.\n * 대신 팝업으로 뜬다 — .railpop 이 그 자리다.\n */\n :host([collapsed]) > ul li > ul {\n display: none;\n }\n\n /* ── 건수 ──────────────────────────────────────────────────────────── */\n /*\n * **메뉴에서 유일하게 색을 갖는 자리다.**\n *\n * 나머지는 무채색이다 — 틀은 자리를 말하고, 색은 「무엇이 나를 기다리나」에만 쓴다. 건수가 바로\n * 그것이라 여기에 제품의 강조색을 준다.\n *\n * 색을 --menu-rail-accent 에서 가져오지 않는다. 그 이름은 지금 페이지 표시에도 쓰이고, 그것까지\n * 강조색이 되면 메뉴 전체가 물든다. 배지만 따로 든다.\n *\n * 순서는 앱 토큰이 먼저다(--ui-accent). md 의 primary 는 앱마다 뜻이 다르다 — operato-twin 에서는\n * 브랜드 청록이지만 operato-plant 에서는 **진회색**이라, primary 를 쓰면 한쪽에서만 색이 나온다.\n * 실제로 그랬다.\n *\n * 글자색은 짝으로 온다. 강조색 위에 흰 글자를 늘 올리면 어두운 테마의 밝은 초록에서 대비가\n * 2.24 로 떨어진다 — 그 테마는 짙은 글자를 짝으로 둔다.\n */\n :host a [badge] {\n margin-left: auto;\n min-width: 18px;\n padding: 0 5px;\n border-radius: 9px;\n background-color: var(--menu-rail-badge, var(--ui-accent, var(--md-sys-color-primary, #0c7a4c)));\n color: var(--menu-rail-badge-ink, var(--ui-on-accent, var(--md-sys-color-on-primary, #ffffff)));\n font-family: var(--theme-font-mono, monospace);\n font-size: 10.5px;\n font-weight: 700;\n line-height: 17px;\n text-align: center;\n }\n\n /*\n * 접히면 라벨이 없어 옆에 둘 자리가 없다. 아이콘 위에 겹친다.\n *\n * 이것도 **레일 안쪽만**이다. 팝업에는 이름이 있으니 건수가 그 오른쪽에 알약으로 선다 —\n * 위의 기본 규칙이 그대로 맞다.\n */\n :host([collapsed]) > ul li[menu] {\n position: relative;\n }\n\n :host([collapsed]) > ul li a [badge] {\n position: absolute;\n top: 0;\n right: 2px;\n margin-left: 0;\n /*\n * 글자를 9.5px 에서 10px 로 올린다. 링이 아이콘을 밀어내 준 만큼 숫자에 자리를 줄 수 있다 —\n * 접힌 레일에서 이 숫자가 유일한 신호이므로 읽히는 것이 먼저다.\n */\n min-width: 15px;\n padding: 0 3px;\n font-size: 10px;\n line-height: 15px;\n /*\n * **배경색 링으로 아이콘을 밀어낸다.**\n *\n * 56px 안에서는 배지가 아이콘 위에 겹칠 수밖에 없다. 겹친 자리에서 아이콘의 선이 배지의\n * 글자를 지나가면 숫자가 안 읽힌다. 링이 그 사이를 끊는다 — 아이콘을 지운 것처럼 보인다.\n *\n * 링 색은 레일의 면색이다. 고른 항목은 배경이 accent-wash 여서 정확히 같지는 않지만, 그\n * 색이 아주 옅어 눈에 걸리지 않는다.\n */\n box-shadow: 0 0 0 2px var(--menu-rail-surface);\n }\n\n /*\n * **값이 아직 안 온 동안**만 자리를 비운다.\n *\n * 알약을 그릴지는 배지 정의가 있나로 정해지고, 그 안의 값은 조금 뒤에 채워진다. 그 사이 빈\n * 알약이 아이콘 위에 뜻 없는 점으로 남는다.\n *\n * **0 은 값이다.** 0 이면 0 을 보인다 — 「기다리는 것이 없다」도 사람이 알아야 하는 사실이고,\n * 그 자리가 비어 있으면 「아직 안 왔나」와 구별되지 않는다.\n */\n :host a [badge]:empty {\n display: none;\n }\n\n /*\n * Zero keeps its place and loses the signal.\n *\n * The filled accent pill means \"there is something here for you\". 작성 중 0 wore exactly the same\n * one as 할 일 9 — rgb(12,122,76), 28x17 — so a column of them read as four things waiting.\n *\n * Hiding zero is not the answer: an empty slot cannot be told apart from a count that has not\n * arrived yet (see the rule above). So the number stays and the pill goes quiet.\n *\n * ── The quiet is in the pill, not in the ink (2026-09-19) ──────────────────\n * The ink was --ui-faint, the palest text token, and the pill is a raised surface. Faint ink is\n * meant for the page surface; on the raised one it loses about a quarter of a step. Measured on\n * the operato products' greys: 4.48:1 at 10.5px, just under the 4.5 this size needs. Nobody sees\n * that by looking - it was written here as \"still readable\" without a number.\n *\n * The ink is now --ui-muted, which measures 7.70:1 light and 8.49:1 dark on the same pill. The\n * signal a count carries is the accent fill; a grey pill is already the quiet one, and the number\n * inside it does not have to be faint as well to say \"nothing is waiting\".\n */\n :host a [badge][zero] {\n background-color: var(--menu-rail-badge-zero, var(--ui-line-soft, #e6eaed));\n color: var(--menu-rail-badge-zero-ink, var(--ui-muted, #57676f));\n font-weight: 500;\n }\n\n /* ── 시스템 자리 ───────────────────────────────────────────────────── */\n /*\n * 빈 자리로 벌린다 — 시스템 항목이 바닥에 붙는다.\n *\n * 목록이 화면보다 길면 이 자리가 0 이 되고 시스템은 목록 끝에 그대로 이어진다.\n * flex: 1 1 auto 가 아니라 flex: 1 1 0 이라야 그렇게 된다 — auto 면 이 빈 칸이 자기\n * 높이를 주장해 목록이 밀린다.\n *\n * **레일 전용이 아니다.** 한때 [rail] 에 걸어 두고 「바닥에 붙이는 것은 폭이 좁을 때의\n * 배치」라고 적었는데, 그건 지어낸 이유였다. 서랍도 화면 높이를 다 쓰므로 시스템이 바닥에\n * 붙는 뜻이 같다.\n */\n :host .railspacer {\n flex: 1 1 0;\n min-height: 0;\n }\n\n /*\n * 시스템 단추의 스타일은 여기에 없다 — **보통 메뉴 줄로 그린다.**\n *\n * 전에는 button.railitem 으로 따로 그리고 그 꾸밈을 여기에 두었다. 그러면 레일이 아닌\n * 모양에서는 꾸밈이 없다. ul > li > a 로 두면 위의 규칙들이 그대로 붙는다 — 여백 · 색 ·\n * hover · 접힘 · 화살표 · 팝업 표시까지.\n */\n\n /* ── 접기 단추 ─────────────────────────────────────────────────────── */\n :host .railtoggle {\n display: flex;\n align-items: center;\n gap: var(--menu-rail-gap);\n width: 100%;\n box-sizing: border-box;\n margin-bottom: 4px;\n padding: 8px 11px;\n border: none;\n border-radius: var(--menu-rail-radius);\n background: none;\n color: var(--menu-rail-faint);\n font: var(--menu-rail-font-weight) var(--menu-rail-font-size) var(--theme-font, inherit);\n text-align: left;\n cursor: pointer;\n }\n\n :host .railtoggle:hover {\n background-color: var(--menu-rail-hover);\n color: var(--menu-rail-ink);\n }\n\n :host .railtoggle md-icon {\n --md-icon-size: var(--menu-rail-icon-size);\n\n flex: none;\n width: 20px;\n min-width: 20px;\n color: inherit;\n }\n\n :host([collapsed]) .railtoggle {\n justify-content: center;\n gap: 0;\n padding: 8px 0;\n }\n\n :host([collapsed]) .railtoggle span {\n display: none;\n }\n\n /*\n * ── 하위 메뉴 팝업 ──────────────────────────────────────────────────────\n * **레일 전용이 아니다.** 접힌 레일에서 하위로 가는 길이기도 하고, 시스템 항목(주소가 아니라\n * 함수)의 자리이기도 하다. 시스템은 어느 모양에서든 팝업으로 열리므로 [rail] 에 걸지 않는다.\n */\n /*\n * fixed 다 — 레일은 overflow-x: hidden 이라 안에서 띄우면 잘린다.\n *\n * 그리고 팝업은 같은 shadow root 안에 있다. 그래서 위의 접힘 규칙들은 **> ul 로 좁혀 둔다** —\n * 좁히지 않으면 a > span 의 display: none 이 팝업 항목의 이름까지 지우고, 가운데 정렬과\n * 여백 0 이 같이 걸려 **아이콘만 남는다.** 한때 li 로만 좁혀 두었는데, 팝업 줄도 li 라서\n * 아무것도 가리지 못했다.\n */\n :host .railpop {\n position: fixed;\n z-index: 60;\n min-width: 190px;\n /*\n * 70vh 였다. 그러면 열여섯 줄짜리 목록이 화면에 다 들어가는데도 스크롤이 생긴다.\n * 자리는 fitPopup 이 맞추므로, 여기서는 **화면이 허락하는 만큼**만 잘라 둔다.\n */\n max-height: calc(100vh - 16px);\n overflow-y: auto;\n box-sizing: border-box;\n padding: 6px;\n /*\n * 테두리는 **선 색**이다. 표면색으로 두면 경계가 안 보여 레일에서 흘러나온 것처럼 읽힌다.\n * 그림자만으로는 밝은 테마에서 약하다.\n */\n border: 1px solid var(--menu-rail-line, var(--md-sys-color-outline-variant, rgba(0, 0, 0, 0.15)));\n border-radius: 10px;\n background-color: var(--menu-rail-surface);\n box-shadow: 0 8px 30px rgba(0, 0, 0, 0.22);\n }\n\n /*\n * 노브 — 팝업이 어느 항목에서 열렸는지 가리킨다.\n *\n * 45도 돌린 정사각이다. 왼쪽 두 변만 테두리를 두어 팝업의 왼쪽 선에서 뾰족하게 나오고,\n * 배경은 팝업과 같은 면색이라 팝업의 선이 그 자리에서 끊긴 것처럼 보인다.\n *\n * 자리(top)는 fitKnob 이 정한다. 팝업이 위로 밀려 그 항목이 팝업의 세로 범위 밖에 있으면\n * hidden 이 붙는다 — 아무 데도 가리키지 못하는 화살은 없는 것이 낫다.\n */\n :host .railknob {\n /*\n * **fixed 다 — 팝업 안에 두면 잘린다.** 팝업은 목록이 길 때 스크롤해야 해서\n * overflow-y: auto 이고, 그러면 브라우저가 overflow-x 도 auto 로 계산한다. 노브는 팝업의\n * 왼쪽 선 밖으로 나가야 하므로 그 스크롤 박스에 잘렸다. 자리는 fitKnob 이 화면 좌표로 준다.\n */\n position: fixed;\n z-index: 61;\n width: 10px;\n height: 10px;\n transform: rotate(45deg);\n /*\n * 선과 면이 **팝업과 같다.** 팝업의 왼쪽 선에 반쯤 물리면 그 선이 그 자리에서 뾰족하게\n * 꺾인 것처럼 보인다 — 따로 붙은 장식이 아니라 팝업의 일부다.\n *\n * 선을 한 단 진하게 하고 크게 하고 그림자까지 얹어 봤다. 눈에는 더 잡히는데 팝업에서\n * 떨어진 부품처럼 보였다. 선을 아예 없애 봤더니 팝업의 선이 끊긴 틈으로만 남아 약했다.\n *\n * 안 보였던 원인은 색도 크기도 아니라 **잘림**이었다(position: fixed 로 고쳤다).\n */\n border-left: 1px solid var(--menu-rail-line, var(--md-sys-color-outline-variant, rgba(0, 0, 0, 0.15)));\n border-bottom: 1px solid var(--menu-rail-line, var(--md-sys-color-outline-variant, rgba(0, 0, 0, 0.15)));\n background-color: var(--menu-rail-surface);\n }\n\n :host .railpop .phead {\n padding: 6px 10px 4px;\n font-family: var(--theme-font-mono, monospace);\n font-size: 9.5px;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: var(--menu-rail-faint);\n }\n\n :host .railpop a {\n padding: 8px 10px;\n border-radius: 7px;\n font-size: 12.5px;\n }\n\n /*\n * 팝업 안의 지금 페이지에 대한 규칙은 **여기 없다.**\n *\n * 팝업도 renderMenus 가 그리므로 줄이 li[current] > a 다. 위의 규칙이 그대로 닿는다.\n * 한때 팝업 줄을 a[current] 로 따로 그렸고 그 규칙이 여기 남아 있었는데, 모양이 바뀐 뒤\n * 아무것에도 걸리지 않는 죽은 줄이었다.\n */\n\n /*\n * ── 손가락으로 누르는 화면 ──────────────────────────────────────────────\n * 폭이 아니라 **입력 장치**로 가른다. 좁은 창에서 마우스를 쓰는 사람에게 줄을 키울 이유는\n * 없고, 넓은 태블릿에서 손가락으로 누르는 사람에게는 키워야 한다.\n *\n * 기존 모양은 max-width: 460px 으로 갈랐다. 그건 「좁으면 휴대폰일 것」이라는 짐작이다.\n */\n @media (pointer: coarse) {\n :host {\n --menu-rail-font-size: 15px;\n }\n\n :host a,\n :host .railitem {\n padding: 12px 11px;\n }\n\n :host li li a {\n padding: 10px 11px;\n }\n }\n`\n"]}
|
|
@@ -482,7 +482,14 @@ let OxMenuPortrait = OxMenuPortrait_1 = class OxMenuPortrait extends localize(i1
|
|
|
482
482
|
knob.style.top = `${popTop + within - half}px`;
|
|
483
483
|
}
|
|
484
484
|
updated() {
|
|
485
|
+
var _a, _b;
|
|
485
486
|
this.fitPopup();
|
|
487
|
+
/*
|
|
488
|
+
* 닫힌 하위의 `settled` 를 지운다. 다 펼쳐진 하위는 상한이 풀려(max-height: none) 닫을 때
|
|
489
|
+
* 움직임이 없으므로 transitionstart 가 오지 않고, 표시가 남으면 **다시 열 때 움직임 없이 한 번에**
|
|
490
|
+
* 선다(§`menu-portrait-styles.ts` 의 「다 펼쳐지면 상한을 푼다」).
|
|
491
|
+
*/
|
|
492
|
+
(_b = (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll) === null || _b === void 0 ? void 0 : _b.call(_a, 'li:not([active]) > ul[settled]').forEach(ul => ul.removeAttribute('settled'));
|
|
486
493
|
}
|
|
487
494
|
/** 접기/펼치기는 `ox-menu-part` 가 한다 — 폭과 저장이 그쪽 것이다. 여기서는 뜻만 올린다. */
|
|
488
495
|
toggleCollapsed(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ox-menu-portrait.js","sourceRoot":"","sources":["../../src/ox-menu-portrait.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { html, LitElement, nothing, TemplateResult } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { asyncReplace } from 'lit/directives/async-replace.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { navigate, store } from '@operato/shell'\nimport { ScrollbarStyles } from '@operato/styles'\n\nimport { Menu } from './types.js'\n\nimport { MenuPortraitStyles } from './menu-portrait-styles.js'\nimport { childrenOpenAs, menuMode, showsLabels, topNavigates } from './menu-mode.js'\n\n/** A stream of counts, as opposed to one value or a ready-made directive. */\nfunction isAsyncIterable(value: unknown): value is AsyncIterable<unknown> {\n return typeof (value as any)?.[Symbol.asyncIterator] === 'function'\n}\n\n/**\n * Nothing is waiting.\n *\n * Only a real zero counts. An empty string is a count that has not arrived, and the pill is hidden\n * for that case by `[badge]:empty` — treating it as zero here would draw a grey pill on load.\n */\nfunction isZero(value: unknown): boolean {\n return value === 0 || value === '0'\n}\n\n/**\n * 시스템 항목을 담는 가짜 최상위.\n *\n * 팝업이 「어느 최상위에서 열렸나」를 하나의 값(`popped`)으로 들고 있어서, 시스템도 최상위인\n * 것처럼 다룬다. 그래야 노브와 자리 계산이 한 벌로 남는다.\n */\nconst SYSTEM = { name: 'ox-menu-system' } as Menu\n\n@customElement('ox-menu-portrait')\nexport class OxMenuPortrait extends localize(i18next)(LitElement) {\n static styles = [ScrollbarStyles, MenuPortraitStyles]\n\n @property({ type: Array }) menus?: Menu[]\n @property({ type: Object }) activeTopLevel?: Menu\n @property({ type: Object }) activeMenu?: Menu\n @property({ type: String }) path!: string\n\n /**\n * 레일 모드 — 접을 수 있고, 접히면 하위가 팝업으로 뜬다.\n *\n * **옵트인이다.** 켜지 않은 앱은 지금과 한 글자도 다르지 않다. 모양이 함께 바뀌는 것은 취향이\n * 아니라 요건이다 — 기존 모양은 줄마다 폭 전체를 쓰는 밑줄이 있고 왼쪽 여백이 16px 이라 56px\n * 에서 무너진다(§`menu-rail-styles.ts`).\n */\n @property({ type: Boolean, reflect: true }) rail = false\n\n /**\n * 접힘 — 아이콘만.\n *\n * **주인은 이 컴포넌트가 아니다.** 폭을 정하는 요소는 `ox-menu-part` 이고(그쪽에 `min-width`\n * 가 있다), 셸의 리사이즈 손잡이도 그 요소에 인라인 폭을 쓴다. 그래서 상태와 저장은 그쪽이\n * 갖고 여기는 받아서 그린다.\n */\n @property({ type: Boolean, reflect: true }) collapsed = false\n\n /**\n * 서랍인가 — 화면 위에 겹쳐 떴다가 닫히는 메뉴.\n *\n * 그때 최상위는 **펼치기만** 한다. 누르는 순간 서랍이 닫히면 그 묶음의 나머지 하위를 볼\n * 기회가 없다(§`ox-menu-part` 의 `drawer`).\n */\n @property({ type: Boolean, reflect: true }) drawer = false\n\n /**\n * 지금 어떤 모양으로 서 있나 — 세 플래그에서 하나로 모은다.\n *\n * 이 값과 그에 딸린 두 답(`하위를 어디에` · `최상위가 이동하나`)은 `menu-mode.ts` 에 있고\n * 시험으로 못박혀 있다. 여기서 그때그때 판단하지 않는다 — 그렇게 하다가 네 번 깨졌다.\n */\n private get mode() {\n return menuMode({ rail: this.rail, collapsed: this.collapsed, drawer: this.drawer })\n }\n\n /** 접힌 상태에서 팝업으로 열린 최상위 메뉴. 시스템 팝업이면 SYSTEM 이다. */\n @state() private popped?: Menu\n\n /**\n * 시스템 항목 — 프로필 · 로그아웃 · 설정처럼 **앱이 아니라 프레임워크가 붙이는 것**들.\n *\n * 하드코딩하지 않는다. 각 패키지가 부팅할 때 `ADD_MORENDA` 로 등록하고(권한이 없으면 등록\n * 자체를 안 한다), 우리는 그 목록을 그대로 그린다. 그래서 목록이 비면 이 자리도 없다.\n */\n /*\n * private 을 두지 않는다 — 시험이 이 목록을 넣어 보고 「항목이 없으면 자리도 없다」를 확인한다.\n * 앱에서는 store 가 채운다(아래 connectedCallback).\n */\n @state() morendas: any[] = []\n\n private _unsubscribeStore?: () => void\n\n /** 팝업 자리 — 누른 항목의 오른쪽. 세로는 그린 뒤 재서 맞춘다(§`fitPopup`). */\n private _popLeft = 0\n private _popTop = 0\n /** 누른 항목의 윗선. 화면에 들어가면 이 자리를 쓴다. */\n private _popPrefer = 0\n\n /** 팝업이 화면 안에 들어가게 세로 자리를 맞춘다. 팝업 밖 여백. */\n private static readonly POP_MARGIN = 8\n\n /**\n * 팝업 밖을 누르면 닫는다.\n *\n * ── 팝업 안의 클릭을 막지 않는다 ────────────────────────────────────────\n * 한때 팝업 컨테이너에 stopPropagation 을 걸어 두었다. 팝업 안을 눌러도 이 처리기가 받아\n * 곧바로 닫히던 것을 막으려던 것인데, 그것이 **셸의 라우터까지 막았다.**\n *\n * 라우터는 document.body 에서 클릭을 받아 composedPath 로 A 를 찾고 preventDefault 한 뒤\n * 화면만 바꾼다(@operato/shell 의 installRouter). 클릭이 거기까지 못 가면 브라우저의 기본\n * 이동이 그대로 일어나 **페이지 전체가 다시 읽혔다.**\n *\n * 그래서 막지 않고, 여기서 「팝업 안이면 닫지 않는다」로 가른다. 줄을 누를 때 닫는 일은 그\n * 줄의 처리기가 한다.\n */\n private _onDocClick = (e: MouseEvent) => {\n if (!this.popped) {\n return\n }\n\n const pop = this.renderRoot?.querySelector?.('.railpop')\n\n if (pop && e.composedPath().includes(pop)) {\n return\n }\n\n this.popped = undefined\n }\n\n connectedCallback() {\n super.connectedCallback()\n document.addEventListener('click', this._onDocClick)\n\n /*\n * morenda 는 각 패키지의 부팅에서 **비동기로** 등록된다. 한 번 읽고 끝내면 늦게 붙는 것이\n * 빠진다. 길이가 바뀔 때만 다시 그린다 — 이 목록은 늘어나기만 한다.\n */\n const read = () => ((store.getState() as any)?.more?.morendas || []) as any[]\n\n this.morendas = read()\n this._unsubscribeStore = store.subscribe(() => {\n const next = read()\n if (next.length !== this.morendas.length) {\n this.morendas = next\n }\n })\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n document.removeEventListener('click', this._onDocClick)\n this._unsubscribeStore?.()\n }\n\n /**\n * 마우스를 올렸을 때 뜨는 글.\n *\n * ── 접혔을 때는 이름이 먼저다 ───────────────────────────────────────────\n * 접히면 아이콘만 남으므로 **이름을 모른다.** 그때는 이름을 윗줄에 얹고 설명을 아랫줄에 둔다.\n * 펼쳐져 있으면 이름은 이미 옆에 있으니 설명만 낸다.\n *\n * 줄바꿈으로 잇는다 — 대시로 이으면 설명 안의 대시와 겹쳐 「A — B — C」가 된다.\n *\n * 설명도 없고 이름도 안 보이는 경우가 아니면 아무것도 내지 않는다. 이름을 그대로 되풀이하는\n * 툴팁은 소음이다.\n */\n private hoverText(label?: unknown, description?: string) {\n const name = typeof label === 'string' ? label : undefined\n\n if (showsLabels(this.mode)) {\n return description || undefined\n }\n\n return description && name ? `${name}\\n${description}` : description || name\n }\n\n /**\n * @param depth 0 이면 최상위다. **하위도 `active` 를 달기 때문에** 깊이를 값으로 넘긴다 —\n * CSS 로 「최상위인 li」를 가리려면 `:not(li li)` 같은 것이 필요하고, 그건 읽는 사람이\n * 한 번 더 생각해야 하는 선택자다.\n */\n /**\n * The count pill next to a menu label.\n *\n * Zero is drawn, and drawn quietly.\n *\n * The pill is the \"there is something here for you\" signal, and 작성 중 0 wore the same filled\n * accent as 할 일 9 — same colour rgb(12,122,76), same 28x17 box. Four of them in a column read\n * as four things waiting. Hiding zero is not the answer either: an empty slot cannot be told\n * apart from a count that has not arrived yet. So zero keeps its place and loses the signal.\n *\n * ── Why this method exists ────────────────────────────────────────────\n * Callers used to hand over a Lit directive — `badge: () => asyncReplace(counts(name))` — which\n * left this component with something it could only drop into a slot. It could not see the value,\n * so it could not decide how to draw it. The component that draws the pill has to own how the\n * pill looks, so it now takes the stream and wraps it here.\n *\n * A caller that still passes a ready-made directive keeps working, minus the quiet zero.\n */\n private renderBadge(badge: unknown) {\n if (badge === false || badge === null || badge === undefined) {\n return nothing\n }\n\n if (isAsyncIterable(badge)) {\n return asyncReplace(badge, value => html`<div badge ?zero=${isZero(value)}>${value}</div>`)\n }\n\n return html`<div badge ?zero=${isZero(badge)}>${badge}</div>`\n }\n\n renderMenus(menus: Menu[], activeTopLevel?: Menu, activeMenu?: Menu, depth = 0): TemplateResult | typeof nothing {\n if (menus.length == 0) {\n return nothing\n }\n\n return html`\n <ul>\n ${menus.map(menu => {\n var { type, name, active, path, label = name, icon, menus = [], description } = menu\n active = active && typeof active === 'function' ? active.call(menu, { path: this.path }) : false\n /*\n * 건수는 값이거나 값을 내는 함수다. 함수의 반환은 화면에 그릴 수 있는 무엇이든 온다 —\n * 숫자이거나, 갱신될 때마다 바뀌는 Lit 디렉티브다. 그래서 따로 담는다.\n */\n const badge: unknown = typeof menu.badge === 'function' ? menu.badge.call(menu) : (menu.badge ?? false)\n\n return type == 'group'\n ? html`<li group-label>${label}</li>`\n : html`\n <!--\n popped — **지금 팝업을 연 항목**이다. active(지금 페이지)와 다른 뜻이라\n 다른 표시를 준다. 접힌 레일에서 강조된 아이콘은 「지금 페이지」만 뜻하므로,\n 이 표시가 없으면 어느 항목의 팝업인지 알 수 없다.\n -->\n <!--\n active 와 current 는 뜻이 다르다.\n\n 최상위의 active 하위가 펼쳐져 있다 (여닫힘)\n 하위의 active 이것이 지금 페이지다\n current 이것이 지금 페이지다 — 어느 층이든\n\n active 하나로 두면 「펼쳐져 있다」와 「지금 페이지다」에 같은 강조가 걸려,\n 최상위와 그 안의 한 줄이 나란히 강조된다.\n -->\n <!--\n branch — this item has children. The aggregate badge is a duplicate only while\n those children are on screen with their own counts; on a leaf nothing else\n carries the number, so hiding it there just loses it.\n -->\n <li\n ?active=${activeTopLevel ? menu === activeTopLevel : active}\n ?current=${!!activeMenu && menu === activeMenu}\n ?popped=${this.popped === menu}\n ?top=${depth === 0}\n ?branch=${menus.length > 0}\n .menu=${menu}\n menu\n >\n <a href=${path || '#'} title=${ifDefined(this.hoverText(label, description))}>\n <md-icon filled>${icon || 'fiber_manual_record'}</md-icon>\n <span>${label}</span>${this.renderBadge(badge)}\n ${menus.length > 0 ? html` <md-icon filled submenu-button></md-icon> ` : html``}\n </a>\n ${menus && this.renderMenus(menus || [], activeMenu, activeMenu, depth + 1)}\n </li>\n `\n })}\n </ul>\n `\n }\n\n render() {\n const { menus, activeTopLevel, activeMenu } = this\n\n /*\n * 레일이 아니어도 시스템 자리는 그린다.\n *\n * 한때 이것을 레일 가지 안에만 두었다. 그래서 **메뉴 감추기를 켜면 「관리」 한 줄이\n * 사라졌다** — 그 설정이 레일을 끄기 때문이다.\n *\n * 레일을 감추기와 배타로 둔 것은 **접기** 때문이다. 이미 숨은 것을 접을 수는 없다. 그 판단은\n * 접기에만 맞고, 시스템 자리는 접기와 아무 상관이 없다. 관계없는 것을 한 플래그에 묶었다.\n */\n if (!this.rail) {\n return html`${this.renderMenus(menus || [], activeTopLevel, activeMenu)} ${this.renderSystem()}\n ${this.renderPopped()}`\n }\n\n return html`\n <!--\n 접기 단추 — 맨 위에 둔다. 접힌 뒤 다시 펼치는 길이 같은 자리에 있어야 한다.\n -->\n <button\n class=\"railtoggle\"\n title=${i18next.t(this.collapsed ? 'text.expand-menu' : 'text.collapse-menu')}\n @click=${(e: MouseEvent) => this.toggleCollapsed(e)}\n >\n <md-icon>${this.collapsed ? 'menu' : 'menu_open'}</md-icon>\n <span>${i18next.t('text.collapse-menu')}</span>\n </button>\n ${this.renderMenus(menus || [], activeTopLevel, activeMenu)} ${this.renderSystem()} ${this.renderPopped()}\n `\n }\n\n /**\n * 시스템 항목 — **바닥에 붙는다.**\n *\n * 프로필 · 로그아웃 · 설정은 하루에 한 번 여는 것이고, 일하는 화면들과 같은 깊이에 있으면\n * 자주 여는 것을 밀어낸다. 그래서 메뉴 끝에 두고 사이를 빈 자리로 벌린다.\n *\n * 목록이 비면 이 자리도 없다 — 각 패키지가 권한이 없으면 등록 자체를 안 하므로, 비어 있는\n * 것은 「볼 것이 없다」는 뜻이다. 빈 묶음 이름만 남겨 두면 눌러도 아무 일이 없다.\n *\n * 펼친 상태에서도 팝업으로 연다. 이 항목들은 **주소가 아니라 함수**라, 그 자리에서 펼치면\n * 옆의 하위 메뉴들과 같은 모양이 되어 「눌러도 화면이 안 바뀌는 메뉴」로 읽힌다.\n */\n private renderSystem(): TemplateResult | typeof nothing {\n if (!this.morendas.length) {\n return nothing\n }\n\n /*\n * **보통 메뉴 줄과 같은 모양으로 그린다.**\n *\n * 전에는 button.railitem 으로 따로 그렸고, 그 스타일이 레일에만 있어서 다른 모양에서는\n * 꾸밈이 없었다. ul > li > a 로 두면 레일과 기존 모양이 각자 가진 규칙이 그대로 붙는다 —\n * 여백 · 색 · hover · 접힘 · 화살표 · 팝업 표시까지.\n *\n * `li` 에 `menu` 를 달아도 `.menu` 속성은 주지 않는다. `renderMenus` 의 클릭 처리기가\n * `menuElement?.menu` 로 가르므로, 그것이 없으면 이 줄을 건드리지 않고 아래 `@click` 이 받는다.\n */\n /* 팝업으로 열리는 모양에서는 팝업 상태로, 그 밖에서는 다른 최상위와 같은 상태로. */\n const open = childrenOpenAs(this.mode) === 'popup' ? this.popped === SYSTEM : this.activeTopLevel === SYSTEM\n\n return html`\n <div class=\"railspacer\"></div>\n <div group-label>${i18next.t('text.system')}</div>\n <ul>\n <li menu ?active=${open} ?popped=${childrenOpenAs(this.mode) === 'popup' && open} ?top=${true}>\n <a href=\"#\" title=${i18next.t('text.manage')} @click=${(e: MouseEvent) => this.openSystem(e)}>\n <md-icon filled>admin_panel_settings</md-icon>\n <span>${i18next.t('text.manage')}</span>\n <md-icon filled submenu-button></md-icon>\n </a>\n <!--\n 하위를 **그 자리에** 둔다 — 다른 최상위와 같은 규칙이다.\n\n 펼친 상태에서 팝업으로 열면 이 줄만 다르게 굴고, 특히 메뉴를 감추는 모드(모바일에서\n 쓴다)에서는 화면 어딘가에 고정된 팝업이 뜰 자리가 없다.\n\n 접힌 레일에서는 이 목록이 감춰지고(56px 안에 들어가지 않는다) 팝업이 대신 뜬다 —\n 그것도 다른 최상위와 같다.\n -->\n <ul>\n ${this.morendas.map(\n morenda => html`<li>\n <a href=\"#\" @click=${(e: Event) => this.runMorenda(e, morenda)}>\n ${morenda.icon}<span>${morenda.name}</span>\n </a>\n </li>`\n )}\n </ul>\n </li>\n </ul>\n `\n }\n\n /** 시스템 항목은 주소가 아니라 함수다. 이동을 막고 부른다. */\n private runMorenda(e: Event, morenda: any) {\n e.preventDefault()\n this.popped = undefined\n morenda.action?.()\n }\n\n /**\n * 시스템 줄을 누른다 — **다른 최상위와 똑같은 두 갈래다.**\n *\n * 한때 시스템만 자기 상태(`popped`)를 따로 썼다. 다른 최상위는 `activeTopLevel` 하나를 나눠\n * 쓰는데 시스템만 그 밖에 있었으니, **다른 묶음이 열려 있어도 시스템이 함께 열렸다.** 한 번에\n * 하나만 열리는 규칙에서 이 줄만 빠져 있었다.\n *\n * 이제 같은 상태를 쓴다. 접힌 레일에서만 팝업이고, 그때는 다른 최상위도 팝업이다.\n */\n private openSystem(e: MouseEvent) {\n e.preventDefault()\n /* 이 클릭이 document 로 올라가면 팝업이 바로 닫힌다. */\n e.stopPropagation()\n\n if (childrenOpenAs(this.mode) === 'popup') {\n const rect = (e.currentTarget as HTMLElement).getBoundingClientRect()\n\n this._popLeft = this.getBoundingClientRect().right + 8\n this._popPrefer = rect.top\n this._popTop = rect.top\n this.popped = this.popped === SYSTEM ? undefined : SYSTEM\n return\n }\n\n /* 그 자리에서 열린다 — 하나만 열리는 규칙을 함께 쓴다. */\n this.popped = undefined\n this.dispatchEvent(\n new CustomEvent('active-toplevel', {\n bubbles: true,\n detail: this.activeTopLevel === SYSTEM ? undefined : SYSTEM\n })\n )\n }\n\n /**\n * 접힌 상태에서 하위 메뉴를 팝업으로 낸다.\n *\n * 그 자리에서 열지 않는 이유는 56px 안에 들여쓴 목록이 들어가지 않기 때문이다. 접힌 레일에서\n * 하위를 열 길이 없으면 **접는 순간 화면의 절반에 갈 수 없게 된다** — 접기가 기능이 아니라\n * 함정이 된다.\n */\n private renderPopped(): TemplateResult | typeof nothing {\n const menu = this.popped\n\n if (!menu || childrenOpenAs(this.mode) !== 'popup') {\n return nothing\n }\n\n const system = menu === SYSTEM\n\n return html`\n <!--\n 노브 — 팝업이 어느 항목에서 열렸는지 가리킨다.\n\n **팝업 안에 두면 안 보인다.** 팝업은 목록이 길 때 스크롤해야 해서 overflow-y: auto 인데,\n 그러면 브라우저가 overflow-x 도 auto 로 계산한다. 노브는 팝업의 왼쪽 선 밖으로 나가야\n 하므로 그 스크롤 박스에 잘린다. 그래서 형제로 두고 화면 좌표로 세운다.\n -->\n <div class=\"railknob\" hidden></div>\n <div class=\"railpop\" style=\"left:${this._popLeft}px; top:${this._popTop}px\">\n <div class=\"phead\">${system ? i18next.t('text.manage') : menu.label || menu.name}</div>\n <!--\n 하위를 **레일 안쪽과 똑같이 그린다.**\n\n 한때 팝업 줄을 따로 만들었다(PopRow). 그래서 옮겨 적을 것을 세 번 빠뜨렸다 — 건수 ·\n 지금 페이지 · 그리고 처음에 이름과 아이콘. 빠뜨려도 오류가 나지 않아 화면을 보고서야\n 알았다.\n\n 같은 함수로 그리면 옮겨 적을 것이 없다. 앞으로 하위에 무엇을 더해도 팝업이 따라온다.\n -->\n ${system ? this.renderSystemRows() : this.renderMenus(menu.menus || [], this.activeMenu, this.activeMenu, 1)}\n </div>\n `\n }\n\n /**\n * 시스템 항목 줄들 — **이것만 따로 그린다.**\n *\n * morenda 는 주소가 아니라 함수를 갖는다(`action`). 아이콘과 이름도 Lit 템플릿이라 `Menu` 모양이\n * 아니다. 억지로 `Menu` 로 바꿔 넘기면 그 변환이 또 옮겨 적는 자리가 된다.\n */\n private renderSystemRows(): TemplateResult {\n return html`\n <ul>\n ${this.morendas.map(\n morenda => html`<li>\n <a href=\"#\" @click=${(e: Event) => this.runMorenda(e, morenda)}>${morenda.icon}<span>${morenda.name}</span></a>\n </li>`\n )}\n </ul>\n `\n }\n\n /**\n * 팝업이 화면 안에 들어가게 세로 자리를 맞춘다.\n *\n * ── 왜 그린 뒤에 하나 ───────────────────────────────────────────────────\n * 높이를 알아야 맞출 수 있고, 높이는 그려 봐야 안다. 항목마다 하위 수가 다르다 — 「기준정보」는\n * 열여섯 줄이고 「배우기」는 한 줄이다.\n *\n * ── 규칙 ────────────────────────────────────────────────────────────────\n * 누른 항목의 윗선에서 시작하는 것이 바람이다. 그대로 두면 아래쪽 항목에서 팝업이 화면 밖으로\n * 나간다. 그래서 **아래로 넘치는 만큼 위로 올린다.** 그래도 안 들어가면 위 여백에 붙이고\n * 그때만 스크롤한다.\n *\n * 자리를 반응 상태로 두지 않고 style 에 바로 쓴다 — 값이 바뀔 때마다 다시 그리면 그 렌더에서\n * 또 재게 되고, 재는 값이 그리기에 달려 있으므로 서로 물린다.\n */\n private fitPopup() {\n const pop = this.renderRoot?.querySelector?.('.railpop') as HTMLElement | null\n\n if (!pop) {\n return\n }\n\n const margin = OxMenuPortrait.POP_MARGIN\n const height = pop.offsetHeight\n const room = window.innerHeight - margin * 2\n\n /* 화면보다 크면 위에 붙이고 스크롤한다. 그 아래 다시 재지 않는다. */\n const top = height >= room ? margin : Math.max(margin, Math.min(this._popPrefer, window.innerHeight - margin - height))\n\n if (Math.round(top) !== Math.round(this._popTop)) {\n this._popTop = top\n }\n\n pop.style.top = `${top}px`\n this.fitKnob(pop, top)\n }\n\n /**\n * 노브를 그 항목의 가운데 높이에 둔다.\n *\n * ── 범위를 벗어나면 감추지 않고 끝에 붙인다 ──────────────────────────────\n * 팝업이 위로 밀리는 것은 **아래에 자리가 없어서**이고, 그만큼만 밀린다. 그래서 그 항목은\n * 거의 항상 팝업의 세로 범위 안으로 들어온다. 벗어나는 것은 라운드 모서리에 걸치는 몇 px\n * 뿐이다. 그때 감추면 **자리가 좁을 때만 표시가 사라진다** — 가장 필요한 순간이다.\n *\n * 그래서 모서리 안쪽으로 붙인다. 정확히 그 줄을 가리키지 못해도 「위쪽」·「아래쪽」은\n * 가리키고, 어느 항목인지는 그 항목의 popped 표시가 말한다.\n */\n private fitKnob(pop: HTMLElement, popTop: number) {\n const knob = this.renderRoot?.querySelector?.('.railknob') as HTMLElement | null\n /* 최상위 항목이거나 시스템 단추다 — 둘 다 popped 를 단다. */\n const item = this.renderRoot?.querySelector?.('[popped]') as HTMLElement | null\n\n if (!knob) {\n return\n }\n\n if (!item) {\n knob.hidden = true\n return\n }\n\n const rect = item.getBoundingClientRect()\n const centre = rect.top + rect.height / 2 - popTop\n /* 라운드 모서리에 걸치면 반쪽만 보인다. 그 안쪽까지만 간다. */\n const inset = 14\n const within = Math.max(inset, Math.min(centre, pop.offsetHeight - inset))\n /* 정사각의 반. 가운데가 그 줄의 가운데에 오게 한다. */\n const half = knob.offsetHeight / 2 || 5\n\n knob.hidden = false\n /* 팝업의 왼쪽 선에 반쯤 물리게 — 선이 그 자리에서 끊긴 것처럼 보인다. */\n knob.style.left = `${this._popLeft - half}px`\n knob.style.top = `${popTop + within - half}px`\n }\n\n protected updated() {\n this.fitPopup()\n }\n\n /** 접기/펼치기는 `ox-menu-part` 가 한다 — 폭과 저장이 그쪽 것이다. 여기서는 뜻만 올린다. */\n private toggleCollapsed(e: MouseEvent) {\n e.stopPropagation()\n this.popped = undefined\n this.dispatchEvent(new CustomEvent('collapse-toggle', { bubbles: true, composed: true }))\n }\n\n firstUpdated() {\n this.renderRoot.addEventListener('click', (e: Event) => {\n const menuElement = (e.target as Element)!.closest('[menu]')\n\n /*\n * 팝업 안을 눌렀으면 팝업을 닫는다 — 이동은 라우터가 한다(막지 않는다).\n *\n * 한때 팝업 컨테이너에 stopPropagation 을 걸어 두었다. 그러면 라우터까지 막혀 **페이지\n * 전체가 다시 읽혔다.** 막지 않고 닫기만 한다.\n */\n if ((e.target as Element)!.closest('.railpop')) {\n this.popped = undefined\n }\n\n /*\n * `active-toplevel` 은 **최상위에서만** 나간다.\n *\n * `closest('[menu]')` 는 가장 가까운 줄을 집으므로 하위를 누르면 하위가 잡힌다. 그것을\n * 그대로 올리면 「열린 묶음」이 하위로 바뀌어, 그 묶음이 닫힌 것처럼 된다. 지금까지는 하위\n * 클릭이 곧 이동이라 주소가 바뀌며 저절로 나았지만, 나을 이유가 없는 자리다.\n */\n //@ts-ignore\n if (menuElement?.menu && menuElement.hasAttribute('top')) {\n //@ts-ignore\n let menu = menuElement.menu\n\n /*\n * 접힌 레일에서 하위가 있는 항목은 **팝업으로 연다.**\n *\n * 이 자리에서 갈라야 한다 — 아래로 흘려 보내면 `active-toplevel` 이 나가고, 그러면\n * 56px 안에서 아무것도 안 보이는 채로 「열렸다」가 된다. 팝업이 접힌 레일에서 하위로\n * 가는 유일한 길이다.\n */\n /*\n * 하위가 있는 최상위를 눌렀다. 무엇을 할지는 **모양이 정한다**(§`menu-mode.ts`).\n *\n * 팝업으로 열리는 모양 팝업을 띄운다 (접힌 레일)\n * 이동하지 않는 모양 그 자리에서 펼치기만 한다 (서랍)\n * 나머지 이동하면서 펼친다 — 아래로 흘려 보낸다\n */\n if (menu.menus?.length && !topNavigates(this.mode) && childrenOpenAs(this.mode) === 'inline') {\n e.stopPropagation()\n e.preventDefault()\n\n this.dispatchEvent(\n new CustomEvent('active-toplevel', {\n bubbles: true,\n detail: this.activeTopLevel === menu ? undefined : menu\n })\n )\n\n return\n }\n\n if (menu.menus?.length && childrenOpenAs(this.mode) === 'popup') {\n e.stopPropagation()\n e.preventDefault()\n\n const rect = (menuElement as HTMLElement).getBoundingClientRect()\n\n /*\n * **레일의 오른쪽을 기준으로 띄운다** — 누른 항목의 오른쪽이 아니다.\n *\n * 항목은 레일 안쪽 여백만큼 들어가 있어서, 항목 기준으로 재면 팝업이 레일 끝에 정확히\n * 붙는다(56px 레일에서 left 가 56 이 됐다). 붙으면 레일을 덮은 것처럼 보인다.\n *\n * 틈은 8px 이다. 16px 은 떨어져 떠 있는 것처럼 보였고, 0 은 레일에 얹힌 것처럼\n * 보였다. 8px 이 「레일에서 열린 다른 면」으로 읽히는 자리다.\n */\n this._popLeft = this.getBoundingClientRect().right + 8\n /*\n * 누른 항목의 윗선에서 시작하는 것은 **바람**일 뿐이다. 실제 자리는 그린 뒤 높이를\n * 재서 정한다(`fitPopup`) — 여기서 고정하면 항목이 아래쪽일 때 팝업이 화면 밖으로\n * 나가거나 열여섯 줄짜리 목록에 스크롤이 생긴다.\n */\n this._popPrefer = rect.top\n this._popTop = rect.top\n this.popped = this.popped === menu ? undefined : menu\n\n return\n }\n\n /*\n * ── 화살표가 토글이고, 글자가 이동이다 ────────────────────────────\n * 최상위 항목은 두 일을 한다 — 자기 화면으로 가고, 하위를 펼친다. 글자를 누르면 링크가\n * 주소를 바꾸므로 **접기가 살아남을 수 없다** — 주소가 바뀌면 그 주소의 메뉴가 다시\n * 열린다(§`ox-menu-part` 의 `_closedByUser`).\n *\n * 그래서 접는 자리를 화살표로 옮긴다. 화살표는 이미 「펼침」을 그리고 있어서 사람이 그것을\n * 누르려 한다. 누르면 이동하지 않고 접기만 한다.\n */\n const onCaret = !!(e.target as Element)?.closest?.('[submenu-button]')\n\n if (!menu.path || onCaret) {\n /* protect to act move to href. */\n e.stopPropagation()\n e.preventDefault()\n }\n\n this.dispatchEvent(\n new CustomEvent('active-toplevel', {\n bubbles: true,\n detail: this.activeTopLevel === menu ? undefined : menu\n })\n )\n }\n\n /* to respond even if current acting menu is selected */\n let href = (e.target as HTMLAnchorElement)!.href\n href && location.href === href && navigate(href + '#force', true)\n })\n\n /* to hide scrollbar during transition */\n this.renderRoot.addEventListener('transitionstart', e => {\n ;(e.target as Element).removeAttribute('settled')\n })\n this.renderRoot.addEventListener('transitionend', e => {\n ;(e.target as Element).setAttribute('settled', '')\n })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ox-menu-portrait.js","sourceRoot":"","sources":["../../src/ox-menu-portrait.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { html, LitElement, nothing, TemplateResult } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { asyncReplace } from 'lit/directives/async-replace.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { navigate, store } from '@operato/shell'\nimport { ScrollbarStyles } from '@operato/styles'\n\nimport { Menu } from './types.js'\n\nimport { MenuPortraitStyles } from './menu-portrait-styles.js'\nimport { childrenOpenAs, menuMode, showsLabels, topNavigates } from './menu-mode.js'\n\n/** A stream of counts, as opposed to one value or a ready-made directive. */\nfunction isAsyncIterable(value: unknown): value is AsyncIterable<unknown> {\n return typeof (value as any)?.[Symbol.asyncIterator] === 'function'\n}\n\n/**\n * Nothing is waiting.\n *\n * Only a real zero counts. An empty string is a count that has not arrived, and the pill is hidden\n * for that case by `[badge]:empty` — treating it as zero here would draw a grey pill on load.\n */\nfunction isZero(value: unknown): boolean {\n return value === 0 || value === '0'\n}\n\n/**\n * 시스템 항목을 담는 가짜 최상위.\n *\n * 팝업이 「어느 최상위에서 열렸나」를 하나의 값(`popped`)으로 들고 있어서, 시스템도 최상위인\n * 것처럼 다룬다. 그래야 노브와 자리 계산이 한 벌로 남는다.\n */\nconst SYSTEM = { name: 'ox-menu-system' } as Menu\n\n@customElement('ox-menu-portrait')\nexport class OxMenuPortrait extends localize(i18next)(LitElement) {\n static styles = [ScrollbarStyles, MenuPortraitStyles]\n\n @property({ type: Array }) menus?: Menu[]\n @property({ type: Object }) activeTopLevel?: Menu\n @property({ type: Object }) activeMenu?: Menu\n @property({ type: String }) path!: string\n\n /**\n * 레일 모드 — 접을 수 있고, 접히면 하위가 팝업으로 뜬다.\n *\n * **옵트인이다.** 켜지 않은 앱은 지금과 한 글자도 다르지 않다. 모양이 함께 바뀌는 것은 취향이\n * 아니라 요건이다 — 기존 모양은 줄마다 폭 전체를 쓰는 밑줄이 있고 왼쪽 여백이 16px 이라 56px\n * 에서 무너진다(§`menu-rail-styles.ts`).\n */\n @property({ type: Boolean, reflect: true }) rail = false\n\n /**\n * 접힘 — 아이콘만.\n *\n * **주인은 이 컴포넌트가 아니다.** 폭을 정하는 요소는 `ox-menu-part` 이고(그쪽에 `min-width`\n * 가 있다), 셸의 리사이즈 손잡이도 그 요소에 인라인 폭을 쓴다. 그래서 상태와 저장은 그쪽이\n * 갖고 여기는 받아서 그린다.\n */\n @property({ type: Boolean, reflect: true }) collapsed = false\n\n /**\n * 서랍인가 — 화면 위에 겹쳐 떴다가 닫히는 메뉴.\n *\n * 그때 최상위는 **펼치기만** 한다. 누르는 순간 서랍이 닫히면 그 묶음의 나머지 하위를 볼\n * 기회가 없다(§`ox-menu-part` 의 `drawer`).\n */\n @property({ type: Boolean, reflect: true }) drawer = false\n\n /**\n * 지금 어떤 모양으로 서 있나 — 세 플래그에서 하나로 모은다.\n *\n * 이 값과 그에 딸린 두 답(`하위를 어디에` · `최상위가 이동하나`)은 `menu-mode.ts` 에 있고\n * 시험으로 못박혀 있다. 여기서 그때그때 판단하지 않는다 — 그렇게 하다가 네 번 깨졌다.\n */\n private get mode() {\n return menuMode({ rail: this.rail, collapsed: this.collapsed, drawer: this.drawer })\n }\n\n /** 접힌 상태에서 팝업으로 열린 최상위 메뉴. 시스템 팝업이면 SYSTEM 이다. */\n @state() private popped?: Menu\n\n /**\n * 시스템 항목 — 프로필 · 로그아웃 · 설정처럼 **앱이 아니라 프레임워크가 붙이는 것**들.\n *\n * 하드코딩하지 않는다. 각 패키지가 부팅할 때 `ADD_MORENDA` 로 등록하고(권한이 없으면 등록\n * 자체를 안 한다), 우리는 그 목록을 그대로 그린다. 그래서 목록이 비면 이 자리도 없다.\n */\n /*\n * private 을 두지 않는다 — 시험이 이 목록을 넣어 보고 「항목이 없으면 자리도 없다」를 확인한다.\n * 앱에서는 store 가 채운다(아래 connectedCallback).\n */\n @state() morendas: any[] = []\n\n private _unsubscribeStore?: () => void\n\n /** 팝업 자리 — 누른 항목의 오른쪽. 세로는 그린 뒤 재서 맞춘다(§`fitPopup`). */\n private _popLeft = 0\n private _popTop = 0\n /** 누른 항목의 윗선. 화면에 들어가면 이 자리를 쓴다. */\n private _popPrefer = 0\n\n /** 팝업이 화면 안에 들어가게 세로 자리를 맞춘다. 팝업 밖 여백. */\n private static readonly POP_MARGIN = 8\n\n /**\n * 팝업 밖을 누르면 닫는다.\n *\n * ── 팝업 안의 클릭을 막지 않는다 ────────────────────────────────────────\n * 한때 팝업 컨테이너에 stopPropagation 을 걸어 두었다. 팝업 안을 눌러도 이 처리기가 받아\n * 곧바로 닫히던 것을 막으려던 것인데, 그것이 **셸의 라우터까지 막았다.**\n *\n * 라우터는 document.body 에서 클릭을 받아 composedPath 로 A 를 찾고 preventDefault 한 뒤\n * 화면만 바꾼다(@operato/shell 의 installRouter). 클릭이 거기까지 못 가면 브라우저의 기본\n * 이동이 그대로 일어나 **페이지 전체가 다시 읽혔다.**\n *\n * 그래서 막지 않고, 여기서 「팝업 안이면 닫지 않는다」로 가른다. 줄을 누를 때 닫는 일은 그\n * 줄의 처리기가 한다.\n */\n private _onDocClick = (e: MouseEvent) => {\n if (!this.popped) {\n return\n }\n\n const pop = this.renderRoot?.querySelector?.('.railpop')\n\n if (pop && e.composedPath().includes(pop)) {\n return\n }\n\n this.popped = undefined\n }\n\n connectedCallback() {\n super.connectedCallback()\n document.addEventListener('click', this._onDocClick)\n\n /*\n * morenda 는 각 패키지의 부팅에서 **비동기로** 등록된다. 한 번 읽고 끝내면 늦게 붙는 것이\n * 빠진다. 길이가 바뀔 때만 다시 그린다 — 이 목록은 늘어나기만 한다.\n */\n const read = () => ((store.getState() as any)?.more?.morendas || []) as any[]\n\n this.morendas = read()\n this._unsubscribeStore = store.subscribe(() => {\n const next = read()\n if (next.length !== this.morendas.length) {\n this.morendas = next\n }\n })\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n document.removeEventListener('click', this._onDocClick)\n this._unsubscribeStore?.()\n }\n\n /**\n * 마우스를 올렸을 때 뜨는 글.\n *\n * ── 접혔을 때는 이름이 먼저다 ───────────────────────────────────────────\n * 접히면 아이콘만 남으므로 **이름을 모른다.** 그때는 이름을 윗줄에 얹고 설명을 아랫줄에 둔다.\n * 펼쳐져 있으면 이름은 이미 옆에 있으니 설명만 낸다.\n *\n * 줄바꿈으로 잇는다 — 대시로 이으면 설명 안의 대시와 겹쳐 「A — B — C」가 된다.\n *\n * 설명도 없고 이름도 안 보이는 경우가 아니면 아무것도 내지 않는다. 이름을 그대로 되풀이하는\n * 툴팁은 소음이다.\n */\n private hoverText(label?: unknown, description?: string) {\n const name = typeof label === 'string' ? label : undefined\n\n if (showsLabels(this.mode)) {\n return description || undefined\n }\n\n return description && name ? `${name}\\n${description}` : description || name\n }\n\n /**\n * @param depth 0 이면 최상위다. **하위도 `active` 를 달기 때문에** 깊이를 값으로 넘긴다 —\n * CSS 로 「최상위인 li」를 가리려면 `:not(li li)` 같은 것이 필요하고, 그건 읽는 사람이\n * 한 번 더 생각해야 하는 선택자다.\n */\n /**\n * The count pill next to a menu label.\n *\n * Zero is drawn, and drawn quietly.\n *\n * The pill is the \"there is something here for you\" signal, and 작성 중 0 wore the same filled\n * accent as 할 일 9 — same colour rgb(12,122,76), same 28x17 box. Four of them in a column read\n * as four things waiting. Hiding zero is not the answer either: an empty slot cannot be told\n * apart from a count that has not arrived yet. So zero keeps its place and loses the signal.\n *\n * ── Why this method exists ────────────────────────────────────────────\n * Callers used to hand over a Lit directive — `badge: () => asyncReplace(counts(name))` — which\n * left this component with something it could only drop into a slot. It could not see the value,\n * so it could not decide how to draw it. The component that draws the pill has to own how the\n * pill looks, so it now takes the stream and wraps it here.\n *\n * A caller that still passes a ready-made directive keeps working, minus the quiet zero.\n */\n private renderBadge(badge: unknown) {\n if (badge === false || badge === null || badge === undefined) {\n return nothing\n }\n\n if (isAsyncIterable(badge)) {\n return asyncReplace(badge, value => html`<div badge ?zero=${isZero(value)}>${value}</div>`)\n }\n\n return html`<div badge ?zero=${isZero(badge)}>${badge}</div>`\n }\n\n renderMenus(menus: Menu[], activeTopLevel?: Menu, activeMenu?: Menu, depth = 0): TemplateResult | typeof nothing {\n if (menus.length == 0) {\n return nothing\n }\n\n return html`\n <ul>\n ${menus.map(menu => {\n var { type, name, active, path, label = name, icon, menus = [], description } = menu\n active = active && typeof active === 'function' ? active.call(menu, { path: this.path }) : false\n /*\n * 건수는 값이거나 값을 내는 함수다. 함수의 반환은 화면에 그릴 수 있는 무엇이든 온다 —\n * 숫자이거나, 갱신될 때마다 바뀌는 Lit 디렉티브다. 그래서 따로 담는다.\n */\n const badge: unknown = typeof menu.badge === 'function' ? menu.badge.call(menu) : (menu.badge ?? false)\n\n return type == 'group'\n ? html`<li group-label>${label}</li>`\n : html`\n <!--\n popped — **지금 팝업을 연 항목**이다. active(지금 페이지)와 다른 뜻이라\n 다른 표시를 준다. 접힌 레일에서 강조된 아이콘은 「지금 페이지」만 뜻하므로,\n 이 표시가 없으면 어느 항목의 팝업인지 알 수 없다.\n -->\n <!--\n active 와 current 는 뜻이 다르다.\n\n 최상위의 active 하위가 펼쳐져 있다 (여닫힘)\n 하위의 active 이것이 지금 페이지다\n current 이것이 지금 페이지다 — 어느 층이든\n\n active 하나로 두면 「펼쳐져 있다」와 「지금 페이지다」에 같은 강조가 걸려,\n 최상위와 그 안의 한 줄이 나란히 강조된다.\n -->\n <!--\n branch — this item has children. The aggregate badge is a duplicate only while\n those children are on screen with their own counts; on a leaf nothing else\n carries the number, so hiding it there just loses it.\n -->\n <li\n ?active=${activeTopLevel ? menu === activeTopLevel : active}\n ?current=${!!activeMenu && menu === activeMenu}\n ?popped=${this.popped === menu}\n ?top=${depth === 0}\n ?branch=${menus.length > 0}\n .menu=${menu}\n menu\n >\n <a href=${path || '#'} title=${ifDefined(this.hoverText(label, description))}>\n <md-icon filled>${icon || 'fiber_manual_record'}</md-icon>\n <span>${label}</span>${this.renderBadge(badge)}\n ${menus.length > 0 ? html` <md-icon filled submenu-button></md-icon> ` : html``}\n </a>\n ${menus && this.renderMenus(menus || [], activeMenu, activeMenu, depth + 1)}\n </li>\n `\n })}\n </ul>\n `\n }\n\n render() {\n const { menus, activeTopLevel, activeMenu } = this\n\n /*\n * 레일이 아니어도 시스템 자리는 그린다.\n *\n * 한때 이것을 레일 가지 안에만 두었다. 그래서 **메뉴 감추기를 켜면 「관리」 한 줄이\n * 사라졌다** — 그 설정이 레일을 끄기 때문이다.\n *\n * 레일을 감추기와 배타로 둔 것은 **접기** 때문이다. 이미 숨은 것을 접을 수는 없다. 그 판단은\n * 접기에만 맞고, 시스템 자리는 접기와 아무 상관이 없다. 관계없는 것을 한 플래그에 묶었다.\n */\n if (!this.rail) {\n return html`${this.renderMenus(menus || [], activeTopLevel, activeMenu)} ${this.renderSystem()}\n ${this.renderPopped()}`\n }\n\n return html`\n <!--\n 접기 단추 — 맨 위에 둔다. 접힌 뒤 다시 펼치는 길이 같은 자리에 있어야 한다.\n -->\n <button\n class=\"railtoggle\"\n title=${i18next.t(this.collapsed ? 'text.expand-menu' : 'text.collapse-menu')}\n @click=${(e: MouseEvent) => this.toggleCollapsed(e)}\n >\n <md-icon>${this.collapsed ? 'menu' : 'menu_open'}</md-icon>\n <span>${i18next.t('text.collapse-menu')}</span>\n </button>\n ${this.renderMenus(menus || [], activeTopLevel, activeMenu)} ${this.renderSystem()} ${this.renderPopped()}\n `\n }\n\n /**\n * 시스템 항목 — **바닥에 붙는다.**\n *\n * 프로필 · 로그아웃 · 설정은 하루에 한 번 여는 것이고, 일하는 화면들과 같은 깊이에 있으면\n * 자주 여는 것을 밀어낸다. 그래서 메뉴 끝에 두고 사이를 빈 자리로 벌린다.\n *\n * 목록이 비면 이 자리도 없다 — 각 패키지가 권한이 없으면 등록 자체를 안 하므로, 비어 있는\n * 것은 「볼 것이 없다」는 뜻이다. 빈 묶음 이름만 남겨 두면 눌러도 아무 일이 없다.\n *\n * 펼친 상태에서도 팝업으로 연다. 이 항목들은 **주소가 아니라 함수**라, 그 자리에서 펼치면\n * 옆의 하위 메뉴들과 같은 모양이 되어 「눌러도 화면이 안 바뀌는 메뉴」로 읽힌다.\n */\n private renderSystem(): TemplateResult | typeof nothing {\n if (!this.morendas.length) {\n return nothing\n }\n\n /*\n * **보통 메뉴 줄과 같은 모양으로 그린다.**\n *\n * 전에는 button.railitem 으로 따로 그렸고, 그 스타일이 레일에만 있어서 다른 모양에서는\n * 꾸밈이 없었다. ul > li > a 로 두면 레일과 기존 모양이 각자 가진 규칙이 그대로 붙는다 —\n * 여백 · 색 · hover · 접힘 · 화살표 · 팝업 표시까지.\n *\n * `li` 에 `menu` 를 달아도 `.menu` 속성은 주지 않는다. `renderMenus` 의 클릭 처리기가\n * `menuElement?.menu` 로 가르므로, 그것이 없으면 이 줄을 건드리지 않고 아래 `@click` 이 받는다.\n */\n /* 팝업으로 열리는 모양에서는 팝업 상태로, 그 밖에서는 다른 최상위와 같은 상태로. */\n const open = childrenOpenAs(this.mode) === 'popup' ? this.popped === SYSTEM : this.activeTopLevel === SYSTEM\n\n return html`\n <div class=\"railspacer\"></div>\n <div group-label>${i18next.t('text.system')}</div>\n <ul>\n <li menu ?active=${open} ?popped=${childrenOpenAs(this.mode) === 'popup' && open} ?top=${true}>\n <a href=\"#\" title=${i18next.t('text.manage')} @click=${(e: MouseEvent) => this.openSystem(e)}>\n <md-icon filled>admin_panel_settings</md-icon>\n <span>${i18next.t('text.manage')}</span>\n <md-icon filled submenu-button></md-icon>\n </a>\n <!--\n 하위를 **그 자리에** 둔다 — 다른 최상위와 같은 규칙이다.\n\n 펼친 상태에서 팝업으로 열면 이 줄만 다르게 굴고, 특히 메뉴를 감추는 모드(모바일에서\n 쓴다)에서는 화면 어딘가에 고정된 팝업이 뜰 자리가 없다.\n\n 접힌 레일에서는 이 목록이 감춰지고(56px 안에 들어가지 않는다) 팝업이 대신 뜬다 —\n 그것도 다른 최상위와 같다.\n -->\n <ul>\n ${this.morendas.map(\n morenda => html`<li>\n <a href=\"#\" @click=${(e: Event) => this.runMorenda(e, morenda)}>\n ${morenda.icon}<span>${morenda.name}</span>\n </a>\n </li>`\n )}\n </ul>\n </li>\n </ul>\n `\n }\n\n /** 시스템 항목은 주소가 아니라 함수다. 이동을 막고 부른다. */\n private runMorenda(e: Event, morenda: any) {\n e.preventDefault()\n this.popped = undefined\n morenda.action?.()\n }\n\n /**\n * 시스템 줄을 누른다 — **다른 최상위와 똑같은 두 갈래다.**\n *\n * 한때 시스템만 자기 상태(`popped`)를 따로 썼다. 다른 최상위는 `activeTopLevel` 하나를 나눠\n * 쓰는데 시스템만 그 밖에 있었으니, **다른 묶음이 열려 있어도 시스템이 함께 열렸다.** 한 번에\n * 하나만 열리는 규칙에서 이 줄만 빠져 있었다.\n *\n * 이제 같은 상태를 쓴다. 접힌 레일에서만 팝업이고, 그때는 다른 최상위도 팝업이다.\n */\n private openSystem(e: MouseEvent) {\n e.preventDefault()\n /* 이 클릭이 document 로 올라가면 팝업이 바로 닫힌다. */\n e.stopPropagation()\n\n if (childrenOpenAs(this.mode) === 'popup') {\n const rect = (e.currentTarget as HTMLElement).getBoundingClientRect()\n\n this._popLeft = this.getBoundingClientRect().right + 8\n this._popPrefer = rect.top\n this._popTop = rect.top\n this.popped = this.popped === SYSTEM ? undefined : SYSTEM\n return\n }\n\n /* 그 자리에서 열린다 — 하나만 열리는 규칙을 함께 쓴다. */\n this.popped = undefined\n this.dispatchEvent(\n new CustomEvent('active-toplevel', {\n bubbles: true,\n detail: this.activeTopLevel === SYSTEM ? undefined : SYSTEM\n })\n )\n }\n\n /**\n * 접힌 상태에서 하위 메뉴를 팝업으로 낸다.\n *\n * 그 자리에서 열지 않는 이유는 56px 안에 들여쓴 목록이 들어가지 않기 때문이다. 접힌 레일에서\n * 하위를 열 길이 없으면 **접는 순간 화면의 절반에 갈 수 없게 된다** — 접기가 기능이 아니라\n * 함정이 된다.\n */\n private renderPopped(): TemplateResult | typeof nothing {\n const menu = this.popped\n\n if (!menu || childrenOpenAs(this.mode) !== 'popup') {\n return nothing\n }\n\n const system = menu === SYSTEM\n\n return html`\n <!--\n 노브 — 팝업이 어느 항목에서 열렸는지 가리킨다.\n\n **팝업 안에 두면 안 보인다.** 팝업은 목록이 길 때 스크롤해야 해서 overflow-y: auto 인데,\n 그러면 브라우저가 overflow-x 도 auto 로 계산한다. 노브는 팝업의 왼쪽 선 밖으로 나가야\n 하므로 그 스크롤 박스에 잘린다. 그래서 형제로 두고 화면 좌표로 세운다.\n -->\n <div class=\"railknob\" hidden></div>\n <div class=\"railpop\" style=\"left:${this._popLeft}px; top:${this._popTop}px\">\n <div class=\"phead\">${system ? i18next.t('text.manage') : menu.label || menu.name}</div>\n <!--\n 하위를 **레일 안쪽과 똑같이 그린다.**\n\n 한때 팝업 줄을 따로 만들었다(PopRow). 그래서 옮겨 적을 것을 세 번 빠뜨렸다 — 건수 ·\n 지금 페이지 · 그리고 처음에 이름과 아이콘. 빠뜨려도 오류가 나지 않아 화면을 보고서야\n 알았다.\n\n 같은 함수로 그리면 옮겨 적을 것이 없다. 앞으로 하위에 무엇을 더해도 팝업이 따라온다.\n -->\n ${system ? this.renderSystemRows() : this.renderMenus(menu.menus || [], this.activeMenu, this.activeMenu, 1)}\n </div>\n `\n }\n\n /**\n * 시스템 항목 줄들 — **이것만 따로 그린다.**\n *\n * morenda 는 주소가 아니라 함수를 갖는다(`action`). 아이콘과 이름도 Lit 템플릿이라 `Menu` 모양이\n * 아니다. 억지로 `Menu` 로 바꿔 넘기면 그 변환이 또 옮겨 적는 자리가 된다.\n */\n private renderSystemRows(): TemplateResult {\n return html`\n <ul>\n ${this.morendas.map(\n morenda => html`<li>\n <a href=\"#\" @click=${(e: Event) => this.runMorenda(e, morenda)}>${morenda.icon}<span>${morenda.name}</span></a>\n </li>`\n )}\n </ul>\n `\n }\n\n /**\n * 팝업이 화면 안에 들어가게 세로 자리를 맞춘다.\n *\n * ── 왜 그린 뒤에 하나 ───────────────────────────────────────────────────\n * 높이를 알아야 맞출 수 있고, 높이는 그려 봐야 안다. 항목마다 하위 수가 다르다 — 「기준정보」는\n * 열여섯 줄이고 「배우기」는 한 줄이다.\n *\n * ── 규칙 ────────────────────────────────────────────────────────────────\n * 누른 항목의 윗선에서 시작하는 것이 바람이다. 그대로 두면 아래쪽 항목에서 팝업이 화면 밖으로\n * 나간다. 그래서 **아래로 넘치는 만큼 위로 올린다.** 그래도 안 들어가면 위 여백에 붙이고\n * 그때만 스크롤한다.\n *\n * 자리를 반응 상태로 두지 않고 style 에 바로 쓴다 — 값이 바뀔 때마다 다시 그리면 그 렌더에서\n * 또 재게 되고, 재는 값이 그리기에 달려 있으므로 서로 물린다.\n */\n private fitPopup() {\n const pop = this.renderRoot?.querySelector?.('.railpop') as HTMLElement | null\n\n if (!pop) {\n return\n }\n\n const margin = OxMenuPortrait.POP_MARGIN\n const height = pop.offsetHeight\n const room = window.innerHeight - margin * 2\n\n /* 화면보다 크면 위에 붙이고 스크롤한다. 그 아래 다시 재지 않는다. */\n const top = height >= room ? margin : Math.max(margin, Math.min(this._popPrefer, window.innerHeight - margin - height))\n\n if (Math.round(top) !== Math.round(this._popTop)) {\n this._popTop = top\n }\n\n pop.style.top = `${top}px`\n this.fitKnob(pop, top)\n }\n\n /**\n * 노브를 그 항목의 가운데 높이에 둔다.\n *\n * ── 범위를 벗어나면 감추지 않고 끝에 붙인다 ──────────────────────────────\n * 팝업이 위로 밀리는 것은 **아래에 자리가 없어서**이고, 그만큼만 밀린다. 그래서 그 항목은\n * 거의 항상 팝업의 세로 범위 안으로 들어온다. 벗어나는 것은 라운드 모서리에 걸치는 몇 px\n * 뿐이다. 그때 감추면 **자리가 좁을 때만 표시가 사라진다** — 가장 필요한 순간이다.\n *\n * 그래서 모서리 안쪽으로 붙인다. 정확히 그 줄을 가리키지 못해도 「위쪽」·「아래쪽」은\n * 가리키고, 어느 항목인지는 그 항목의 popped 표시가 말한다.\n */\n private fitKnob(pop: HTMLElement, popTop: number) {\n const knob = this.renderRoot?.querySelector?.('.railknob') as HTMLElement | null\n /* 최상위 항목이거나 시스템 단추다 — 둘 다 popped 를 단다. */\n const item = this.renderRoot?.querySelector?.('[popped]') as HTMLElement | null\n\n if (!knob) {\n return\n }\n\n if (!item) {\n knob.hidden = true\n return\n }\n\n const rect = item.getBoundingClientRect()\n const centre = rect.top + rect.height / 2 - popTop\n /* 라운드 모서리에 걸치면 반쪽만 보인다. 그 안쪽까지만 간다. */\n const inset = 14\n const within = Math.max(inset, Math.min(centre, pop.offsetHeight - inset))\n /* 정사각의 반. 가운데가 그 줄의 가운데에 오게 한다. */\n const half = knob.offsetHeight / 2 || 5\n\n knob.hidden = false\n /* 팝업의 왼쪽 선에 반쯤 물리게 — 선이 그 자리에서 끊긴 것처럼 보인다. */\n knob.style.left = `${this._popLeft - half}px`\n knob.style.top = `${popTop + within - half}px`\n }\n\n protected updated() {\n this.fitPopup()\n\n /*\n * 닫힌 하위의 `settled` 를 지운다. 다 펼쳐진 하위는 상한이 풀려(max-height: none) 닫을 때\n * 움직임이 없으므로 transitionstart 가 오지 않고, 표시가 남으면 **다시 열 때 움직임 없이 한 번에**\n * 선다(§`menu-portrait-styles.ts` 의 「다 펼쳐지면 상한을 푼다」).\n */\n this.renderRoot?.querySelectorAll?.('li:not([active]) > ul[settled]').forEach(ul => ul.removeAttribute('settled'))\n }\n\n /** 접기/펼치기는 `ox-menu-part` 가 한다 — 폭과 저장이 그쪽 것이다. 여기서는 뜻만 올린다. */\n private toggleCollapsed(e: MouseEvent) {\n e.stopPropagation()\n this.popped = undefined\n this.dispatchEvent(new CustomEvent('collapse-toggle', { bubbles: true, composed: true }))\n }\n\n firstUpdated() {\n this.renderRoot.addEventListener('click', (e: Event) => {\n const menuElement = (e.target as Element)!.closest('[menu]')\n\n /*\n * 팝업 안을 눌렀으면 팝업을 닫는다 — 이동은 라우터가 한다(막지 않는다).\n *\n * 한때 팝업 컨테이너에 stopPropagation 을 걸어 두었다. 그러면 라우터까지 막혀 **페이지\n * 전체가 다시 읽혔다.** 막지 않고 닫기만 한다.\n */\n if ((e.target as Element)!.closest('.railpop')) {\n this.popped = undefined\n }\n\n /*\n * `active-toplevel` 은 **최상위에서만** 나간다.\n *\n * `closest('[menu]')` 는 가장 가까운 줄을 집으므로 하위를 누르면 하위가 잡힌다. 그것을\n * 그대로 올리면 「열린 묶음」이 하위로 바뀌어, 그 묶음이 닫힌 것처럼 된다. 지금까지는 하위\n * 클릭이 곧 이동이라 주소가 바뀌며 저절로 나았지만, 나을 이유가 없는 자리다.\n */\n //@ts-ignore\n if (menuElement?.menu && menuElement.hasAttribute('top')) {\n //@ts-ignore\n let menu = menuElement.menu\n\n /*\n * 접힌 레일에서 하위가 있는 항목은 **팝업으로 연다.**\n *\n * 이 자리에서 갈라야 한다 — 아래로 흘려 보내면 `active-toplevel` 이 나가고, 그러면\n * 56px 안에서 아무것도 안 보이는 채로 「열렸다」가 된다. 팝업이 접힌 레일에서 하위로\n * 가는 유일한 길이다.\n */\n /*\n * 하위가 있는 최상위를 눌렀다. 무엇을 할지는 **모양이 정한다**(§`menu-mode.ts`).\n *\n * 팝업으로 열리는 모양 팝업을 띄운다 (접힌 레일)\n * 이동하지 않는 모양 그 자리에서 펼치기만 한다 (서랍)\n * 나머지 이동하면서 펼친다 — 아래로 흘려 보낸다\n */\n if (menu.menus?.length && !topNavigates(this.mode) && childrenOpenAs(this.mode) === 'inline') {\n e.stopPropagation()\n e.preventDefault()\n\n this.dispatchEvent(\n new CustomEvent('active-toplevel', {\n bubbles: true,\n detail: this.activeTopLevel === menu ? undefined : menu\n })\n )\n\n return\n }\n\n if (menu.menus?.length && childrenOpenAs(this.mode) === 'popup') {\n e.stopPropagation()\n e.preventDefault()\n\n const rect = (menuElement as HTMLElement).getBoundingClientRect()\n\n /*\n * **레일의 오른쪽을 기준으로 띄운다** — 누른 항목의 오른쪽이 아니다.\n *\n * 항목은 레일 안쪽 여백만큼 들어가 있어서, 항목 기준으로 재면 팝업이 레일 끝에 정확히\n * 붙는다(56px 레일에서 left 가 56 이 됐다). 붙으면 레일을 덮은 것처럼 보인다.\n *\n * 틈은 8px 이다. 16px 은 떨어져 떠 있는 것처럼 보였고, 0 은 레일에 얹힌 것처럼\n * 보였다. 8px 이 「레일에서 열린 다른 면」으로 읽히는 자리다.\n */\n this._popLeft = this.getBoundingClientRect().right + 8\n /*\n * 누른 항목의 윗선에서 시작하는 것은 **바람**일 뿐이다. 실제 자리는 그린 뒤 높이를\n * 재서 정한다(`fitPopup`) — 여기서 고정하면 항목이 아래쪽일 때 팝업이 화면 밖으로\n * 나가거나 열여섯 줄짜리 목록에 스크롤이 생긴다.\n */\n this._popPrefer = rect.top\n this._popTop = rect.top\n this.popped = this.popped === menu ? undefined : menu\n\n return\n }\n\n /*\n * ── 화살표가 토글이고, 글자가 이동이다 ────────────────────────────\n * 최상위 항목은 두 일을 한다 — 자기 화면으로 가고, 하위를 펼친다. 글자를 누르면 링크가\n * 주소를 바꾸므로 **접기가 살아남을 수 없다** — 주소가 바뀌면 그 주소의 메뉴가 다시\n * 열린다(§`ox-menu-part` 의 `_closedByUser`).\n *\n * 그래서 접는 자리를 화살표로 옮긴다. 화살표는 이미 「펼침」을 그리고 있어서 사람이 그것을\n * 누르려 한다. 누르면 이동하지 않고 접기만 한다.\n */\n const onCaret = !!(e.target as Element)?.closest?.('[submenu-button]')\n\n if (!menu.path || onCaret) {\n /* protect to act move to href. */\n e.stopPropagation()\n e.preventDefault()\n }\n\n this.dispatchEvent(\n new CustomEvent('active-toplevel', {\n bubbles: true,\n detail: this.activeTopLevel === menu ? undefined : menu\n })\n )\n }\n\n /* to respond even if current acting menu is selected */\n let href = (e.target as HTMLAnchorElement)!.href\n href && location.href === href && navigate(href + '#force', true)\n })\n\n /* to hide scrollbar during transition */\n this.renderRoot.addEventListener('transitionstart', e => {\n ;(e.target as Element).removeAttribute('settled')\n })\n this.renderRoot.addEventListener('transitionend', e => {\n ;(e.target as Element).setAttribute('settled', '')\n })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../src/types.ts","../src/menu-mode.ts","../src/menu-active.ts","../src/menu-privilege.ts","../src/index.ts","../../../node_modules/@lit/reactive-element/development/css-tag.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-element.d.ts","../../../node_modules/lit-html/development/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/development/lit-html.d.ts","../../../node_modules/lit-element/development/lit-element.d.ts","../../../node_modules/lit-html/development/is-server.d.ts","../../../node_modules/lit/development/index.d.ts","../src/menu-landscape-styles.ts","../src/menu-portrait-styles.ts","../../../node_modules/@material/web/icon/internal/icon.d.ts","../../../node_modules/@material/web/icon/icon.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/development/decorators.d.ts","../../shell/dist/src/types/domain.d.ts","../../shell/dist/src/types/user.d.ts","../../shell/dist/src/types/role.d.ts","../../shell/dist/src/types/privilege.d.ts","../../shell/dist/src/types/types.d.ts","../../shell/dist/src/types/index.d.ts","../../../node_modules/redux/index.d.ts","../../shell/dist/src/lazy-reducer-enhancer.d.ts","../../shell/dist/src/store.d.ts","../../shell/dist/src/actions/app.d.ts","../../shell/dist/src/actions/route.d.ts","../../shell/dist/src/actions/busy.d.ts","../../shell/dist/src/actions/const.d.ts","../../shell/dist/src/actions/index.d.ts","../../shell/dist/src/app/pages/page-view.d.ts","../../shell/dist/src/object-store.d.ts","../../shell/dist/src/custom-alert.d.ts","../../shell/dist/src/connect-mixin.d.ts","../../shell/dist/src/controllers/app-controller.d.ts","../../shell/dist/src/controllers/context-controller.d.ts","../../shell/dist/src/controllers/font-controller.d.ts","../../shell/dist/src/controllers/layout-controller.d.ts","../../shell/dist/src/controllers/menu-controller.d.ts","../../shell/dist/src/controllers/route-controller.d.ts","../../shell/dist/src/controllers/snackbar-controller.d.ts","../../shell/dist/src/controllers/index.d.ts","../../shell/dist/src/require-custom-element.d.ts","../../shell/dist/src/index.d.ts","../../styles/dist/src/headroom-styles.d.ts","../../styles/dist/src/scrollbar-styles.d.ts","../../styles/dist/src/spinner-styles.d.ts","../../styles/dist/src/common-button-styles.d.ts","../../styles/dist/src/form-field-styles.d.ts","../../styles/dist/src/common-grist-styles.d.ts","../../styles/dist/src/button-container-styles.d.ts","../../styles/dist/src/common-header-styles.d.ts","../../styles/dist/src/common-popup-styles.d.ts","../../styles/dist/src/box-padding-editor-styles.d.ts","../../styles/dist/src/gradient-direction-styles.d.ts","../../styles/dist/src/property-grid-styles.d.ts","../../styles/dist/src/table-event-styles.d.ts","../../styles/dist/src/inspector-styles.d.ts","../../styles/dist/src/line-styles.d.ts","../../styles/dist/src/action-heights.d.ts","../../styles/dist/src/form-element-heights.d.ts","../../styles/dist/src/page-frame-styles.d.ts","../../styles/dist/src/index.d.ts","../src/ox-menu-landscape.ts","../../../node_modules/lit-html/development/async-directive.d.ts","../../../node_modules/lit-html/development/directives/async-replace.d.ts","../../../node_modules/lit/development/directives/async-replace.d.ts","../../../node_modules/lit-html/development/directives/if-defined.d.ts","../../../node_modules/lit/development/directives/if-defined.d.ts","../../../node_modules/i18next/typescript/helpers.d.ts","../../../node_modules/i18next/typescript/options.d.ts","../../../node_modules/i18next/typescript/t.d.ts","../../../node_modules/i18next/index.d.ts","../../../node_modules/i18next/index.d.mts","../../i18n/dist/src/config.d.ts","../../i18n/dist/src/localize.d.ts","../../i18n/dist/src/ox-i18n.d.ts","../../i18n/dist/src/ox-i18n-selector.d.ts","../../i18n/dist/src/index.d.ts","../src/ox-menu-portrait.ts","../src/ox-menu-part.ts","../../layout/dist/src/initializer.d.ts","../../popup/dist/src/ox-popup.d.ts","../../popup/dist/src/ox-popup-list.d.ts","../../popup/dist/src/ox-popup-menu.d.ts","../../popup/dist/src/ox-popup-menuitem.d.ts","../../../node_modules/@material/web/elevation/internal/elevation.d.ts","../../../node_modules/@material/web/elevation/elevation.d.ts","../../../node_modules/@material/web/internal/controller/attachable-controller.d.ts","../../../node_modules/@material/web/focus/internal/focus-ring.d.ts","../../../node_modules/@material/web/focus/md-focus-ring.d.ts","../../../node_modules/@material/web/ripple/internal/ripple.d.ts","../../../node_modules/@material/web/ripple/ripple.d.ts","../../../node_modules/@material/web/labs/behaviors/mixin.d.ts","../../../node_modules/@material/web/labs/behaviors/element-internals.d.ts","../../../node_modules/@material/web/labs/behaviors/form-associated.d.ts","../../../node_modules/@material/web/labs/behaviors/form-submitter.d.ts","../../../node_modules/@material/web/button/internal/button.d.ts","../../../node_modules/@material/web/button/internal/filled-button.d.ts","../../../node_modules/@material/web/button/filled-button.d.ts","../../../node_modules/@material/web/button/internal/text-button.d.ts","../../../node_modules/@material/web/button/text-button.d.ts","../../popup/dist/src/ox-popup-actions.d.ts","../../popup/dist/src/ox-prompt.d.ts","../../popup/dist/src/ox-floating-overlay.d.ts","../../popup/dist/src/open-popup.d.ts","../../popup/dist/src/index.d.ts","../../layout/dist/src/layouts/ox-snack-bar.d.ts","../../layout/dist/src/components/ox-resize-splitter.d.ts","../../layout/dist/src/layouts/ox-header-bar.d.ts","../../layout/dist/src/layouts/ox-nav-bar.d.ts","../../layout/dist/src/layouts/ox-aside-bar.d.ts","../../layout/dist/src/layouts/ox-footer-bar.d.ts","../../layout/dist/src/layouts/ox-page-header-bar.d.ts","../../layout/dist/src/layouts/ox-page-footer-bar.d.ts","../../layout/dist/src/actions/layout.d.ts","../../layout/dist/src/actions/snackbar.d.ts","../../layout/dist/src/components/ox-split-pane.d.ts","../../layout/dist/src/components/ox-entity360-dock.d.ts","../../layout/dist/src/components/ox-three-pane.d.ts","../../layout/dist/src/components/ox-canvas-bar.d.ts","../../layout/dist/src/components/ox-url-tabs.d.ts","../../layout/dist/src/actions/entity360.d.ts","../../layout/dist/src/actions/entity360-registry.d.ts","../../layout/dist/src/actions/entity360-door.d.ts","../../layout/dist/src/actions/entity360-name.d.ts","../../layout/dist/src/components/ox-entity360-section.d.ts","../../layout/dist/src/index.d.ts","../src/ox-top-menu-bar.ts","../stories/ox-menu-container.ts","../stories/test-menus.ts","../stories/ox-menu-portrait.stories.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/get-diffable-html.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff-plugin.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/index.d.ts","../../../node_modules/chai-a11y-axe/chai-a11y-axe-plugin.d.ts","../../../node_modules/chai-a11y-axe/src/accessible.d.ts","../../../node_modules/chai-a11y-axe/index.d.ts","../../../node_modules/@types/chai-dom/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/@open-wc/testing/register-chai-plugins.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/elementupdated.d.ts","../../../node_modules/lit-html/development/static.d.ts","../../../node_modules/lit/development/static-html.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/renderable.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/dedupe-mixin/index.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/scoped-elements/dist-types/types.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/scoped-elements/dist-types/html-element.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixture-no-side-effect.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixturewrapper.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/helpers.d.ts","../../../node_modules/lit/development/html.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/scopedelementswrapper.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/litfixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/stringfixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/index.d.ts","../../../node_modules/@open-wc/testing/index.d.ts","../test/menu-active.test.ts","../test/menu-badge-contrast.test.ts","../test/menu-mode.test.ts","../test/menu-privilege.test.ts","../test/ox-menu-portrait.test.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/ffi.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/iter.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vfs.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileIdsList":[[232,297,305,310,313,315,316,317,330],[69,232,297,305,310,313,315,316,317,330],[58,69,232,297,305,310,313,315,316,317,330],[58,69,77,232,297,305,310,313,315,316,317,330],[71,232,297,305,310,313,315,316,317,330],[56,57,232,297,305,310,313,315,316,317,330],[64,162,232,297,305,310,313,315,316,317,330],[61,64,154,156,157,158,159,160,232,297,305,310,313,315,316,317,330],[61,151,161,232,297,305,310,313,315,316,317,330],[161,232,297,305,310,313,315,316,317,330],[64,164,232,297,305,310,313,315,316,317,330],[64,150,232,297,305,310,313,315,316,317,330],[61,64,232,297,305,310,313,315,316,317,330],[64,152,232,297,305,310,313,315,316,317,330],[64,153,232,297,305,310,313,315,316,317,330],[64,67,232,297,305,310,313,315,316,317,330],[64,232,297,305,310,313,315,316,317,330],[64,157,232,297,305,310,313,315,316,317,330],[64,157,158,232,297,305,310,313,315,316,317,330],[61,64,152,232,297,305,310,313,315,316,317,330],[64,155,232,297,305,310,313,315,316,317,330],[196,197,232,297,305,310,313,315,316,317,330],[198,232,297,305,310,313,315,316,317,330],[197,199,232,297,305,310,313,315,316,317,330],[213,214,232,297,305,310,313,315,316,317,330],[213,232,297,305,310,313,315,316,317,330],[209,211,217,218,219,222,223,232,297,305,310,313,315,316,317,330],[212,215,232,297,305,310,313,315,316,317,330],[216,232,297,305,310,313,315,316,317,330],[212,216,221,232,297,305,310,313,315,316,317,330],[212,215,220,232,297,305,310,313,315,316,317,330],[196,208,224,232,297,305,310,313,315,316,317,330],[200,203,204,207,232,297,305,310,313,315,316,317,330],[196,232,297,305,310,313,315,316,317,330],[232,294,295,297,305,310,313,315,316,317,330],[232,296,297,305,310,313,315,316,317,330],[297,305,310,313,315,316,317,330],[232,297,305,310,313,315,316,317,330,339],[232,297,298,303,305,308,310,313,315,316,317,319,330,335,348],[232,297,298,299,305,308,310,313,315,316,317,330],[232,297,300,305,310,313,315,316,317,330,349],[232,297,301,302,305,310,313,315,316,317,321,330],[232,297,302,305,310,313,315,316,317,330,335,345],[232,297,303,305,308,310,313,315,316,317,319,330],[232,296,297,304,305,310,313,315,316,317,330],[232,297,305,306,310,313,315,316,317,330],[232,297,305,307,308,310,313,315,316,317,330],[232,296,297,305,308,310,313,315,316,317,330],[232,297,305,308,310,311,313,315,316,317,330,335,348],[232,297,305,308,310,311,313,315,316,317,330,337,339],[232,284,297,305,308,310,312,313,315,316,317,319,330,335,348],[232,297,305,308,310,312,313,315,316,317,319,330,335,345,348],[232,297,305,310,312,313,314,315,316,317,330,335,345,348],[231,232,233,234,235,236,237,238,239,240,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357],[232,297,305,308,310,313,315,316,317,330],[232,297,305,310,313,315,317,330],[232,297,305,310,313,315,316,317,318,330,348],[232,297,305,308,310,313,315,316,317,319,330,335],[232,297,305,310,313,315,316,317,321,330],[232,297,305,310,313,315,316,317,322,330],[232,297,305,308,310,313,315,316,317,325,330],[232,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356],[232,297,305,310,313,315,316,317,327,330],[232,297,305,310,313,315,316,317,328,330],[232,297,302,305,310,311,313,315,316,317,319,330,337,345],[232,297,305,308,310,313,315,316,317,330,331],[232,297,305,310,313,315,316,317,330,332,349,353],[232,297,305,308,310,313,315,316,317,330,335,337,338,339],[232,297,305,310,313,315,316,317,330,336,339],[232,297,305,308,310,313,315,316,317,330,335,337],[232,297,305,308,310,313,315,316,317,330,335,338,339],[232,297,305,310,313,315,316,317,330,339,349],[232,297,305,310,313,315,316,317,330,340],[232,294,297,305,310,313,315,316,317,330,335,342,348],[232,297,305,310,313,315,316,317,330,335,341],[232,297,305,308,310,313,315,316,317,330,343,344],[232,297,305,310,313,315,316,317,330,343,344],[232,297,302,305,310,313,315,316,317,319,330,335,345],[232,297,305,310,313,315,316,317,330,346],[232,297,305,310,313,315,316,317,319,330,347],[232,297,305,310,312,313,315,316,317,328,330,348],[232,297,305,310,313,315,316,317,330,349,350],[232,297,302,305,310,313,315,316,317,330,350],[232,297,305,310,313,315,316,317,330,335,351],[232,297,305,310,311,313,315,316,317,330],[232,297,305,310,313,315,316,317,318,330,353],[232,297,305,310,313,315,316,317,330,354],[232,297,300,305,310,313,315,316,317,330],[232,297,302,305,310,313,315,316,317,330],[232,297,305,310,313,315,316,317,330,349],[232,284,297,305,310,313,315,316,317,330],[232,297,305,310,313,315,316,317,330,348],[232,297,305,310,313,315,316,317,330,355],[232,297,305,310,313,315,316,317,325,330],[232,297,305,310,313,315,316,317,330,344],[232,284,297,305,308,310,311,313,315,316,317,319,325,330,335,339,348,351,353,355],[232,297,305,310,313,315,316,317,330,335,356],[232,297,305,310,313,315,316,317,330,337,357],[196,206,232,297,305,310,313,315,316,317,330],[205,232,297,305,310,313,315,316,317,330],[202,232,297,305,310,313,315,316,317,330],[201,232,297,305,310,313,315,316,317,330],[133,134,135,136,232,297,305,310,313,315,316,317,330],[133,134,135,232,297,305,310,313,315,316,317,330],[133,232,297,305,310,313,315,316,317,330],[133,134,232,297,305,310,313,315,316,317,330],[58,61,232,297,305,310,313,315,316,317,330],[59,61,232,297,305,310,313,315,316,317,330],[61,232,297,305,310,313,315,316,317,330],[59,61,128,232,297,305,310,313,315,316,317,330],[59,60,232,297,305,310,313,315,316,317,330],[70,71,72,73,74,75,76,77,78,232,297,305,310,313,315,316,317,330],[129,232,297,305,310,313,315,316,317,330],[131,232,297,305,310,313,315,316,317,330],[58,61,62,63,232,297,305,310,313,315,316,317,330],[210,232,297,305,310,313,315,316,317,330],[49,232,297,305,310,313,315,316,317,330],[232,247,250,253,254,297,305,310,313,315,316,317,330,348],[232,250,297,305,310,313,315,316,317,330,335,348],[232,250,254,297,305,310,313,315,316,317,330,348],[232,297,305,310,313,315,316,317,330,335],[232,244,297,305,310,313,315,316,317,330],[232,248,297,305,310,313,315,316,317,330],[232,246,247,250,297,305,310,313,315,316,317,330,348],[232,297,305,310,313,315,316,317,319,330,345],[232,297,305,310,313,315,316,317,330,358],[232,244,297,305,310,313,315,316,317,330,358],[232,246,250,297,305,310,313,315,316,317,319,330,348],[232,241,242,243,245,249,297,305,308,310,313,315,316,317,330,335,348],[232,250,297,305,310,313,315,316,317,330],[232,250,259,268,297,305,310,313,315,316,317,330],[232,242,248,297,305,310,313,315,316,317,330],[232,250,278,279,297,305,310,313,315,316,317,330],[232,242,245,250,297,305,310,313,315,316,317,330,339,348,358],[232,246,250,297,305,310,313,315,316,317,330,348],[232,241,297,305,310,313,315,316,317,330],[232,244,245,246,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,279,280,281,282,283,297,305,310,313,315,316,317,330],[232,250,271,274,297,305,310,313,315,316,317,330],[232,250,259,261,262,297,305,310,313,315,316,317,330],[232,248,250,261,263,297,305,310,313,315,316,317,330],[232,249,297,305,310,313,315,316,317,330],[232,242,244,250,297,305,310,313,315,316,317,330],[232,250,254,261,263,297,305,310,313,315,316,317,330],[232,254,297,305,310,313,315,316,317,330],[232,248,250,253,297,305,310,313,315,316,317,330,348],[232,242,246,250,259,297,305,310,313,315,316,317,330],[232,250,271,297,305,310,313,315,316,317,330],[232,263,297,305,310,313,315,316,317,330],[232,242,246,250,254,297,305,310,313,315,316,317,330],[232,244,250,278,297,305,310,313,315,316,317,330,339,355,358],[137,232,297,305,310,313,315,316,317,330],[138,139,140,141,232,297,305,310,313,315,316,317,330],[64,137,232,297,305,310,313,315,316,317,330],[182,232,297,305,310,313,315,316,317,330],[64,170,232,297,305,310,313,315,316,317,330],[86,232,297,305,310,313,315,316,317,330],[61,64,68,183,232,297,305,310,313,315,316,317,330],[61,64,188,232,297,305,310,313,315,316,317,330],[145,170,171,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,232,297,305,310,313,315,316,317,330],[107,232,297,305,310,313,315,316,317,330],[168,172,232,297,305,310,313,315,316,317,330],[68,165,232,297,305,310,313,315,316,317,330],[50,51,52,53,54,232,297,305,310,313,315,316,317,330],[50,51,232,297,305,310,313,315,316,317,330],[50,64,232,297,305,310,313,315,316,317,330],[50,232,297,305,310,313,315,316,317,330],[50,51,64,65,68,79,107,126,232,297,305,310,313,315,316,317,330],[50,51,52,53,64,68,79,107,126,127,143,232,297,305,310,313,315,316,317,330],[50,51,52,64,66,68,79,107,126,130,132,142,232,297,305,310,313,315,316,317,330],[50,51,64,68,79,107,191,232,297,305,310,313,315,316,317,330],[50,51,64,68,79,126,143,232,297,305,310,313,315,316,317,330],[50,64,143,193,194,232,297,305,310,313,315,316,317,330],[50,51,53,225,232,297,305,310,313,315,316,317,330],[50,51,64,143,225,232,297,305,310,313,315,316,317,330],[50,52,225,232,297,305,310,313,315,316,317,330],[50,51,54,225,232,297,305,310,313,315,316,317,330],[146,147,148,149,166,167,169,232,297,305,310,313,315,316,317,330],[64,168,232,297,305,310,313,315,316,317,330],[61,64,68,232,297,305,310,313,315,316,317,330],[61,64,68,146,232,297,305,310,313,315,316,317,330],[61,64,146,232,297,305,310,313,315,316,317,330],[61,64,148,232,297,305,310,313,315,316,317,330],[61,64,68,163,165,166,232,297,305,310,313,315,316,317,330],[89,90,91,92,232,297,305,310,313,315,316,317,330],[98,99,100,101,102,103,104,232,297,305,310,313,315,316,317,330],[85,88,93,94,95,96,97,105,106,232,297,305,310,313,315,316,317,330],[86,87,232,297,305,310,313,315,316,317,330],[80,81,82,83,84,232,297,305,310,313,315,316,317,330],[81,82,232,297,305,310,313,315,316,317,330],[80,81,83,232,297,305,310,313,315,316,317,330],[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,232,297,305,310,313,315,316,317,330]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"30db73264f423790415f2f88f22c374cb0ede9c0610fe3386ae20cc17574bcf5","signature":"a4f32f4e2c7c8b874051148ee801dede9c40258b2f79e463fd28235af0ad3bd7"},{"version":"e0fb692d4f184e4389ff15b9a3afb373e614217d11209bbb7991323f9e39ca69","signature":"84b0557232f5482a21b7e925786f210e4ad2a230fe27ea74b68a3736be9baf8b"},{"version":"6ec6e8ac686c5e83784dde22df587e8798b665af08a70c4c733576d537d8306a","signature":"176ad452b559be09c46dd0a87d559ca6a875ae9f5f6dc60b04216987ccee1172"},{"version":"207a185ae4d9a3cc6c2481e19216e02aa3b465e37bdcf2a54c2ad81963574d2b","signature":"8c343f73650fe89ac17ccf2077c92a4efb35742b1b42d211754f1ce5b29e890c"},{"version":"93d215899a1bd18750be7a232c22c14539d440c03f660b86a1db21c3186dc56c","signature":"8cccc9e3831c43812a4afa5e2725761ca82575c74febb41ffe5e0560f38e18f6"},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"a1c5ae2fd49803fc6db34e95007b9c75a21aba738acc4a519c839a129e509eca","signature":"3bcaadf31685c068f5c12037763d5f7d16e86c25412946aad78e418193066ba6"},{"version":"d9ceae08398efcefe09f4490de1a9995a0f73ec36e2558c2f7ad637206bc104e","signature":"b264a25bcb204cc781031cc94856e649951aaf0b3764b167c7de4f81852415ac"},{"version":"b93e2680295ac83b52846bcd76dd6d06507d3da1738ebe564a1e99543993b3b4","impliedFormat":99},{"version":"4ae1ed87c59518f4e0918a21409ec3020e97037a386b57953c6b9fed9cad6949","affectsGlobalScope":true,"impliedFormat":99},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"99bdf729529cdbf12e2bf76ea751b662011133dcf9e35abcb3def47bb02f7b0a","impliedFormat":99},{"version":"732fb71ecb695d6f36ddcbb72ebfe4ff6b6491d45101a00fa2b75a26b80d640f","impliedFormat":99},{"version":"039cb05125d7621f8143616c495b8e6b54249c4e64d2754b80ff93867f7f4b01","impliedFormat":99},{"version":"1b81f1fa82ad30af01ab1cae91ccaddc10c48f5916bbd6d282155e44a65d858d","impliedFormat":99},{"version":"a0fc7a02a75802678a67000607f20266cf1a49dc0e787967efe514e31b9ed0c3","impliedFormat":99},{"version":"5ebf098a1d81d400b8af82807cf19893700335cf91a7b9dbd83a5d737af34b11","impliedFormat":99},{"version":"101cf83ac3f9c5e1a7355a02e4fbe988877ef83c4ebec0ff0f02b2af022254a3","impliedFormat":99},{"version":"d017e2fcd44b46ca80cd2b592a6314e75f5caab5bda230f0f4a45e964049a43a","impliedFormat":99},{"version":"a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","impliedFormat":99},"4d4cf93a6b4c81851ad759e4569b6feb7a701e80b13a6f9d8d9c6012bbb86bd6","2e6035af8f3e43bf95e4983329c8277d66f9b271106af27b99a85d1c1b9daf4a","df32d43311e85715e2a573239a4bbc5b78ebaf29af2af5fa8c85370197997515","3a792bbf677343364a1d9b7197c6e4e512764f17364efd656b1a3598f2a9e820","3d7c0b593a29d717b2b2ba3f03f819c3c48bf9e250d79c4a31860af80f177e8c","e576aa80090f8b6020355ca8d7f4184067c84389f4b92125be29e03b1f6c5194",{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true,"impliedFormat":1},"487213b1bcbdaa470cf59a4cea3f8a939b9222e74b455fe0fd2f0dc2346cc3c0",{"version":"8a9e962b8c98aa48377773c40ac7a3e530fb3354cec48fdb59d8e2df3a624a0c","affectsGlobalScope":true},"641089f0b8094ef74b9d4b3364d5dec1592d5e3b8a51c1ba491bc8872049e79a","8e33e65ce7fcd3cb20e29505452daa51543003d5db597f1aca2a51ff9043c8a7","b42033bf1067564808e4d360d79281667c2b3b0792c2d615ab641eb85974d4ba","7af29b0589483f7bb8a99405ddb849f34bc053146184561ed4179e02f5fe4d0f","ad3ee9f7d14ad8b7ae8094d0f1a2276656f7a970827d4030d1dead7c2d765f75","9c7568f9c75cf6a7d35dc9f18c5971cd5b21344c686c7cce56b3558d3305d40f","fc48282c397084016a939e1b3f91dcaf4199b6cba339d91d8b2dc2acade79762","3e62a55b950132d6eeacc607b7a1bff990d5484347b2be5a1f54db51af30ff25","8b86f33b7e06e2f0a3bf4703cf9d8b0baab016e36b83f2a33dac184f061e17ea","88c205bacab539d8e844b80a1ec76fc649fbc731f12dfd7cca160976b5ddfd5a","565d32dce0b8761e7cfafe40c56a8a0fab0bb9e7bb35a31d9712643b3c8dbbc4","4bde12afd6fdd6e52d7316e00adfbccd70becc3ebd9c4f647d07caef53a474ae","a7e588bdba05f1fb78f83e50ee62c93565134d3b996babf2697c2b43fcf17ce0","218a0f93d7091c68718ec4260f41f3a61b5ecb7e786a8c04e296292ff41db8f0","cf45487aeb18b31f1001b99d06793986ac3e6840b0602f9cf3756a2724348bf4","81f0a95843ae6e5a006addc4b5c217b075057ff82c9bc319655de21a13ba9f10","1a68f44e90ac5c261a3157004a7ec18759982b91fd725537d6db919d83601dd1","daccba798a74fc239523622caf24656e28b78dac33ea8a031682280fd51b0d0f","0c417e2683399126bc68aced0c37b3d9b8b72c37d390569595f73447c067d97b","cf93fb9208a01c80f0fad245c4360356e5de6c2384b7641acf0b9cc2f5c42448","336398b0efaf964124e636a9b29c4edd5870aee79ac64bf87be58a9d66b7c048","571bc65ec37ba124e762bb822e14a2b8502dc684e356be8feaccbd6b9cadd023","7cd455fc4c4818f19263d73b29c59f3fb5fd54b45a6ab83ca3eb3661281db56b","d428a9fbb7cc014b69651793373edf9be9b0bba7c3e7f720d2a294dd1a50d7c5","1c6b9b5501774a2ece6574be8e26092800e3f1f836f8c179b4f9fdd271a620f8","bcd2426fd141157e04e3a8eff914b575403587f398cf0878f07c2f283e0d1afd","bac8ff394e831e4dd3f0961d6abb414b0e2b4ba16fdeb502d087ebf0340ed5f6","d9f8946a29f08d831605e6a9005785842dfbe5b09e5d38b6bf5073a11453890a","b337608772b9df38e69b89837ecf758100e6c1c7acd4d0f10595f738faf1d034","c89d663edb7c20cfab677286571dc8f4f09878119d7ecd010895133995f12532","9d04b912e18e966fca08158f28e5c41bfb2fa864187d926e04d737aa83a96e17","2ad4fcfa075cde73e5ae78491531cef44cec9fb9a880be8335afd98c444528cf","881cb6bb1e6384a9943b8c6f1cd3a0f215a683b032130f700e0d87bc9a990727","e2d895b9561b0b9a350c970475ff268e4e0fc44436e107a916889a0a93d3389b","302a06cbb95a5c6041745f5f8f64a0a7b2fe7926f2ee71f96644f473d6804a44","bfa39163a2b652b382fa019284a857b7a8a25eb3c4469124088530cead0ba347","0e8028822fd379c0133a7451f95729ef9cd548ac584e09f95d5bd57a93d23363","18811c4c3ed17976ad7125d62352c870be56778a3e40950b72f4d21099274581",{"version":"edce72f988c83157a88933338f4cdcf3bc72118ab04d9ac07cd35abee7c92678","signature":"143f8d604ef3ed044bfdeda068f2b4f33d0cd8df6d9d42b26a2ecce9426cb0bc"},{"version":"c42f9b18f5f559b133cf9b409f678afb30df9c6498865aae9a1abad0f1e727a8","impliedFormat":99},{"version":"feaf207fddc69de2a8826438be06f5f954964cddc8e95bf980c9fe02cb22616a","impliedFormat":99},{"version":"e3d6176dc713a2b6b17054021a6aa839824bf43f358e3ae12192b54c6de1a6b4","impliedFormat":99},{"version":"74fe889b1d2bba4b2893d518ba94e2b20dabe6d19d0c2f9554d9a5d3755710f4","impliedFormat":99},{"version":"2ae64cd7b6e760496069ee3b496c64700c956a0620740e1ef52b163824859db7","impliedFormat":99},{"version":"e30accdbef6f904f20354b6f598d7f2f7ff29094fc5410c33f63b29b4832172a","impliedFormat":1},{"version":"3786a961459023ec78bb575e5ea74f504d3ffc61ae82a305c959a4d94d7d70eb","impliedFormat":1},{"version":"de83915a380bdd6d7ddf075e3f60fe347db64ad4d06822835724ac601cb61daf","impliedFormat":1},{"version":"4d39c150715cb238da715e5c3fbeac2e2b2d0ef3f23c632996dd59ae35ba1f45","impliedFormat":1},{"version":"e9f80c5934982b97886eadab6684c073344a588d1758b12fba2d0184e6f450a2","impliedFormat":99},"0f81a53d54fd2b4ae2bf60067d616de99884bda21cb5784d942089d52319fb97","86d356e64ab8d56852623677eb1bed0c106703aed9b7788ad8a5a56e647822cb","29dca1b5f0cac95b675f86c7846f9d587ed47cc46609dd00d152bcb37683b069","231d829c892caeb88dd469e0847bf9d14e29c82b8b158b381ec866c868adf9af","886bcc73e8cf74ebec1bd14a5cc5b8dfa28276210df634e6f81c844b1eef767b",{"version":"bf8a79f9de00d1265dfe93d584eb43ffbb205352d86c5f4b7fbb7e5bf02e28df","signature":"02fe50a11bf8c03d31c39acadf143dbdf9560c0969c32322959c19ca2cd81e7d"},{"version":"2228a9e165866636123924e1557fd8e83e42127105e049abddbb9467d2c30577","signature":"1a2c7c8a8a6c53487774f22819087d2068fa7f61502374e2dbfa0966483de46d"},"60997095f458b8c2c94af5759c796d9d17678e740a41a04c3e518c14c47f2ee7",{"version":"75069a2a1e380502ff9a1074b8ee61f5e84f31973e5f81b444e6993e5633c72b","affectsGlobalScope":true},"8aff91f00938aa90ce829f4d577903d6826fa19e8edc583f7bb64ef1a6b4ae3b","986165ecc3a59d4b6a272a92f7ca4fd7a0762c63a674abd2c1efa0bea64da604","3e7b241ec38126d95f9e37c49a631c00cff006a888276e2d02920c6443c8b593",{"version":"6184309fe39e2fe444f4ba94e7cd1abef48fcb48e258457c3b77c65828184241","impliedFormat":99},{"version":"98c511f60c3079d731a35353a47bfa89dd79eeacad48a45d07170d22ef4bfd02","affectsGlobalScope":true,"impliedFormat":99},{"version":"905800cc110167503d0cf58bb0dd6fa4aaac1e9cedc9bd9c48e5d1f8b5b8d4c8","impliedFormat":99},{"version":"d17be577b99e59611df19ca2cf0356df554f55bb06617c21321fc4ec06b820d0","impliedFormat":99},{"version":"5f30145fbc8ca508ae4e0d90a4fe9eaff490783f380a92f6aa262accdf7887b7","affectsGlobalScope":true,"impliedFormat":99},{"version":"cefe49d29d43726072e88671a2c40cdeeb8d49ca8fa6c2d4b06013dc7b9d6206","impliedFormat":99},{"version":"f882b77c5939860d599b4b7bc39f741ebcd56123e18b284500f4b8923acd2e72","affectsGlobalScope":true,"impliedFormat":99},{"version":"0230bc76ed3a464531a43d2434d315b9cc2096aaca28bdaa65b8f9dce9f3bc81","impliedFormat":99},{"version":"559d2d1cd7f37dc2ac59e7adce198ad16a5eb0c7273d67b8e4ff72821b7c853f","impliedFormat":99},{"version":"6161d12fc14a8e0cf492f9d49372a1189b1fe005662cb7fe6630352a6b0bb04e","impliedFormat":99},{"version":"7d3c06d4ad79d86c6f7518b77d335b324bc218a7cd8b3e15579c4b584b7307f9","impliedFormat":99},{"version":"65f5bc7ff74eeabe9925da575924601248471033c27bf0384643ea03cad2b57d","impliedFormat":99},{"version":"d08d474654640266d6ac03f51ee04d72438b78ea377b9dc4678c480ce0477e1a","impliedFormat":99},{"version":"929f21090183949e93fd99327d292bff76f781895d5252eb43319b2c3e014528","affectsGlobalScope":true,"impliedFormat":99},{"version":"0f28503979e769f6ee6e55350f621dc00e300f15688d52b02edc62d837d29b1d","impliedFormat":99},{"version":"fe869c79d427e84d916011d082def68a793c3c13e157079fec399f250418bd50","affectsGlobalScope":true,"impliedFormat":99},"a2afc55ddd24edebefe497c415aee63498b099cef639b85a1bb3163e58649928","7484a732937e15e0a09057c111599847b794bd834969305eaa12fe59d51724ac","f6eb4e48956cfa37ae7467498f0a691a88cce11328ffa15ebccde173e15e32bc","acb5066874b8199737f556febc1b1b2446e3fa456586af98ec43b200912e0b59","c9d3623b528f615e0466361855fbba048e88d381bb5257f23c37062b2fdb6039","3c523c4338a858825c62005f03ff49eeaf8290bdda52a8b8554be555bab7a077","5582fb24ca35ef8a72d61a095d62ae2ada8143c33bc56febf626e333d3a5b013","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","c0178facd144177de1b1bb22d5083a02b83b8a390519e23e959420fe720aacf2","07d5eb23abd7084841b9e51a04fe6b9ffd0b5f5eb04bcee3447fd958aab634b7","86d239790a025b4f1213571ed5d578b9080415e1218b253b499ed73ac436ae63","2d17e611213a31d33db4feab0cee6dc503705cf6b266a6f259cbaf78387d7ff2",{"version":"8760a7cd91c9859edd408fc7f2fd286c0b2383c9f16b59e5465081b2567ce5b7","affectsGlobalScope":true},{"version":"5425a627e508bc6d1ccfb1ea6f8d250f93c6fa7fe034e6f1b03a48e8ce0a3167","affectsGlobalScope":true},{"version":"7a57df5934cd17f2fd7b640275089eed07e2efe1e29daa2f61e61f1e08dac023","affectsGlobalScope":true},"64f49d783fd85a7031364a512b70410d45352e507ced759f3c9b6c3e70df83db","ab3c51d38bb2e334127c989e8fbcbf8160a08517f5b3bad789dc414d0876eb05","81715d46da9f89ebedf6cbfb1d436fa6bf847652bd8a125d0893e3b47399f316","cc6e710bf911f8e494e14365b733a56d2c53a093ff1c5af2aee11dd651760327",{"version":"c360546ca0d716d461f18e5fdc72a4b9a6482f2d5dbb1c384213bbc4a6cb35b1","affectsGlobalScope":true},"418362bae28a61da9584c8d90039c39288b247c653b4507755a37180472a32e3",{"version":"de53165df4274f512d63c56ad34b21c451f86e3cfd2d1e2dd866c5250e0924e8","signature":"79deb069b1537b1757965b5b16e5b8e6921017ce3f7088d1d813eee727b4b49e"},{"version":"7676ea7aed13b1887f9d232ea2d5d6f7dbf9cf04adedc9f78985893eb9b4a189","signature":"1004e6124d3c4663544dbb9431bdfb786459e4ca93d02cfe0ffcd8a0994af69d"},{"version":"4eb26a88276bdfea327e95d4ba3918a6cb8053cf19f4bdb3153020ab650ae7af","signature":"acfcfdf417c988d67e5d48f5fcff7b6dd52c88720ecd635137a2929170836244"},{"version":"f69671beaabadb5eb4b29d05eafde2114c1a3950069916a799ea8e2e97696e6b","signature":"52b248e376193dd4349afee293aaa4c7b4899dddae63cfa5a8a05cb980c24e04"},{"version":"eef204f061321360559bd19235ea32a9d55b3ec22a362cc78d14ef50d4db4490","affectsGlobalScope":true,"impliedFormat":1},{"version":"72bee526b949b9932edba50997ff3b9cdede7b314d790d5f0d94f3d2944930ea","impliedFormat":99},{"version":"2d412861573a672bd90fdcb1e48740593324565f3b3aaf6808c0e3e2f0d54ae8","affectsGlobalScope":true,"impliedFormat":99},{"version":"cd711db43a952f15464b571ac11b7a440332cd52342bc92c4bf908c70688f57f","affectsGlobalScope":true,"impliedFormat":99},{"version":"9d8709c916778cb34830708ed47b78e9a46d1fb2eb73a682b14eee990bed4aa6","impliedFormat":99},{"version":"507e2131e89b515ce40c05c0c2fef6cc575ba8947703f92e8cdf36078747a9ff","affectsGlobalScope":true,"impliedFormat":99},{"version":"999a90d30a3183dcee987d0a5a7c586aba5bacbf6ce087ba8635124082ccfeea","impliedFormat":99},{"version":"8a5878edd52f4a720560b4c6e6247e9ddc3df6118ad9cf2f9927903b03d5f440","impliedFormat":99},{"version":"e7be17cfcbe98809c052f384c230ecea9e1cee045edac9db0659e997a988ff9e","affectsGlobalScope":true,"impliedFormat":1},{"version":"baf3507287629018d38c88e2636dd041550c70620bb774127011eb6dc3b361c0","impliedFormat":1},{"version":"4738bc5d39ac01532d861967a4fe52769e3892fb8022d4524802ac1c7aed4934","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"65b91a3725399231d3469529b5e27b85bf2aa98013e607f308e5fe260b47eeff","impliedFormat":99},{"version":"04e3793f33c71ceae20a4719698c068b72c98cf925b3c5f8a33096c00ed44258","impliedFormat":99},{"version":"fa8ef3fb228e258f9508386e2056c95c959d1c1168301181313a5c978754ba70","impliedFormat":99},{"version":"15c9478a8a3d630ac5e738aca25fca15d0842aaeb97fb1a9c1e80eddc5a0e14c","impliedFormat":99},{"version":"cc46ce345c0e19e456388446733250527eead4ca557b5e5fdf0c2e30adc3c89f","impliedFormat":99},{"version":"88cda4269c54f0803834fd62b2fac61af8bff7a085693f7ca9df85c1f19dee8a","impliedFormat":99},{"version":"5a2888a80ba9fae27aaa312464ab4b744ce4cfce573c105844ad8e94a39e2d7d","affectsGlobalScope":true,"impliedFormat":99},{"version":"260d1e9ec9c633c7ae90d8c17762e77924eef5d71357b27bfd351da698db4f6d","impliedFormat":99},{"version":"6168f8e0a5b354f8177bf0dee7c1a69c2afb6a155d5534221f3a1a2d86b84367","impliedFormat":99},{"version":"d7840fd94e6dfb5b0d9df5a20fe1e79c8dd72b1efdb74d2ef04c31e3588c6b5b","impliedFormat":99},{"version":"fa6d684e15fe6e99c7208a51b45c04f8e0147f1c8587871aac48fff55b7b1f24","impliedFormat":99},{"version":"d61a4b627c3e2e054616df905a25226f547dc0e821c2a2b6d5f13318b3fd7e78","impliedFormat":99},{"version":"1308479c593c3d337bd9c438ac1d7164006a9286638cec0b26e3331a978f91d4","impliedFormat":99},{"version":"cfad37dbd7cf27cc16758755847ad7c07ac52a01c466486e50f8f84d0f0ea9ce","impliedFormat":99},{"version":"0c4d3009672fd12d4d9a6505e769de9369c180dcfa8188d9fd850ec156245d87","impliedFormat":99},{"version":"793fca6322a14fa8fa6bc6a4fc694fd7bcc88922c4f9abcd48bf6908f8bf939b","impliedFormat":99},{"version":"be3e93b109deb44b925583674cc0706c0b3c2e7316bcf79631285a45c18ed0c8","impliedFormat":99},{"version":"50f63746fc2a779d1f9c5657fd78e292045dc98b540e026799e039ea629f2943","impliedFormat":99},{"version":"8527c0f0749def85b8890d0ea09343d9670b0c45794ff27321de93100de1ac8d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1e90cd76e64b93c2b16b31a3f8a8e305cab40d36bca0bce953499fb4ff2d5bda","signature":"8c60144e64b097f4d8d99e882cbce15c62b40377ba544267315c8284e150c921"},{"version":"8c6ea4dfb3dc8853b017c3d32b5daa85c7a8f8d369948fbd549ec92cc5bc9ece","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1e07c908517c06ef99001d074c4068deb989e7410ade42fc54b213e041ee82d2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5ced4bf2cf1794f1bf29df5be94b7f6795a14cd0c260fc5e78719c24a51ff547","signature":"8c60144e64b097f4d8d99e882cbce15c62b40377ba544267315c8284e150c921"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"7db737262597ae2e35daa8cc1748f482cf4b0914e00a3d5a32cf6c4fc869a375","impliedFormat":1},{"version":"9c90f502816bd0179556bb875e86c944af3f6b995cde63199edbe4e0b1219aba","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"ec62d16f95636123624a69191a35b5df44b4b0a6428977e856c5739c0a787471","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1},{"version":"29f72ec1289ae3aeda78bf14b38086d3d803262ac13904b400422941a26a3636","affectsGlobalScope":true,"impliedFormat":1}],"root":[[51,55],65,66,127,143,144,[192,195],[226,230]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"referencedMap":[[56,1],[69,1],[70,2],[73,3],[71,3],[75,3],[78,4],[77,3],[76,3],[74,3],[72,5],[57,1],[58,6],[163,7],[161,8],[162,9],[164,10],[165,11],[151,12],[150,13],[153,14],[154,15],[68,16],[67,13],[152,17],[158,18],[159,19],[160,19],[157,1],[155,20],[156,21],[198,22],[199,23],[197,1],[200,24],[213,1],[215,25],[214,26],[224,27],[209,1],[216,28],[217,29],[218,1],[219,26],[222,30],[212,17],[221,31],[223,29],[225,32],[208,33],[204,34],[196,1],[359,1],[294,35],[295,35],[296,36],[232,37],[297,38],[298,39],[299,40],[300,41],[301,42],[302,43],[303,44],[304,45],[305,46],[306,46],[307,47],[308,48],[309,1],[310,49],[311,50],[233,1],[231,1],[312,51],[313,52],[314,53],[358,54],[315,55],[316,56],[317,55],[318,57],[319,58],[321,59],[322,60],[323,60],[324,60],[325,61],[326,62],[327,63],[328,64],[329,65],[330,66],[331,66],[332,67],[333,1],[334,1],[335,68],[336,69],[337,70],[338,71],[339,72],[340,73],[341,74],[342,75],[343,76],[344,77],[345,78],[346,79],[347,80],[348,81],[349,82],[350,83],[351,84],[352,85],[353,86],[354,87],[234,55],[235,1],[236,88],[237,89],[238,1],[239,90],[240,1],[285,91],[286,92],[287,93],[288,93],[289,94],[290,1],[291,38],[292,95],[293,92],[355,96],[356,97],[357,98],[207,99],[206,100],[205,1],[60,1],[320,1],[201,34],[203,101],[202,102],[137,103],[136,104],[133,1],[134,105],[135,106],[62,107],[128,108],[59,109],[129,110],[131,109],[63,1],[61,111],[210,109],[79,112],[130,113],[132,114],[220,109],[64,115],[211,116],[86,1],[50,117],[49,1],[47,1],[48,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[45,1],[46,1],[259,118],[273,119],[256,120],[274,121],[283,122],[247,123],[248,124],[246,125],[282,126],[277,127],[281,128],[250,129],[260,130],[270,131],[249,132],[280,133],[244,134],[245,127],[251,130],[252,1],[258,135],[255,130],[242,136],[284,137],[275,138],[263,139],[262,130],[264,140],[267,141],[261,142],[265,143],[278,126],[253,144],[254,145],[268,146],[243,121],[272,147],[271,130],[257,145],[266,148],[269,149],[276,1],[241,1],[279,150],[138,151],[142,152],[139,153],[141,13],[140,13],[188,1],[189,17],[187,17],[186,154],[179,155],[180,156],[184,157],[182,17],[190,158],[172,13],[181,13],[183,13],[185,13],[191,159],[145,160],[175,161],[176,161],[173,161],[174,161],[178,161],[177,161],[171,162],[55,163],[53,164],[65,165],[52,166],[66,165],[54,164],[127,167],[144,168],[143,169],[192,170],[51,166],[193,171],[195,172],[194,164],[226,173],[227,174],[228,175],[229,176],[230,174],[170,177],[169,178],[168,179],[166,13],[147,180],[148,181],[149,182],[146,13],[167,183],[89,1],[91,1],[92,1],[93,184],[90,1],[94,17],[97,156],[98,17],[99,17],[100,17],[105,185],[101,17],[102,17],[103,17],[104,17],[96,1],[107,186],[87,156],[95,1],[106,1],[88,187],[80,1],[85,188],[83,189],[82,190],[84,1],[81,1],[123,17],[117,17],[114,17],[111,1],[113,17],[115,17],[116,17],[124,17],[112,17],[118,17],[108,17],[126,191],[121,17],[122,17],[125,17],[119,17],[109,17],[110,17],[120,17]],"version":"5.9.3"}
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../src/types.ts","../src/menu-mode.ts","../src/menu-active.ts","../src/menu-privilege.ts","../src/index.ts","../../../node_modules/@lit/reactive-element/development/css-tag.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/development/reactive-element.d.ts","../../../node_modules/lit-html/development/directive.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/lit-html/development/lit-html.d.ts","../../../node_modules/lit-element/development/lit-element.d.ts","../../../node_modules/lit-html/development/is-server.d.ts","../../../node_modules/lit/development/index.d.ts","../src/menu-landscape-styles.ts","../src/menu-portrait-styles.ts","../../../node_modules/@material/web/icon/internal/icon.d.ts","../../../node_modules/@material/web/icon/icon.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/base.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/custom-element.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/property.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/state.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/event-options.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-all.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-async.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-nodes.d.ts","../../../node_modules/@lit/reactive-element/development/decorators/query-assigned-elements.d.ts","../../../node_modules/lit/development/decorators.d.ts","../../shell/dist/src/types/domain.d.ts","../../shell/dist/src/types/user.d.ts","../../shell/dist/src/types/role.d.ts","../../shell/dist/src/types/privilege.d.ts","../../shell/dist/src/types/types.d.ts","../../shell/dist/src/types/index.d.ts","../../../node_modules/redux/index.d.ts","../../shell/dist/src/lazy-reducer-enhancer.d.ts","../../shell/dist/src/store.d.ts","../../shell/dist/src/actions/app.d.ts","../../shell/dist/src/actions/route.d.ts","../../shell/dist/src/actions/busy.d.ts","../../shell/dist/src/actions/const.d.ts","../../shell/dist/src/actions/index.d.ts","../../shell/dist/src/app/pages/page-view.d.ts","../../shell/dist/src/object-store.d.ts","../../shell/dist/src/custom-alert.d.ts","../../shell/dist/src/connect-mixin.d.ts","../../shell/dist/src/controllers/app-controller.d.ts","../../shell/dist/src/controllers/context-controller.d.ts","../../shell/dist/src/controllers/font-controller.d.ts","../../shell/dist/src/controllers/layout-controller.d.ts","../../shell/dist/src/controllers/menu-controller.d.ts","../../shell/dist/src/controllers/route-controller.d.ts","../../shell/dist/src/controllers/snackbar-controller.d.ts","../../shell/dist/src/controllers/index.d.ts","../../shell/dist/src/require-custom-element.d.ts","../../shell/dist/src/index.d.ts","../../styles/dist/src/headroom-styles.d.ts","../../styles/dist/src/scrollbar-styles.d.ts","../../styles/dist/src/spinner-styles.d.ts","../../styles/dist/src/common-button-styles.d.ts","../../styles/dist/src/form-field-styles.d.ts","../../styles/dist/src/common-grist-styles.d.ts","../../styles/dist/src/button-container-styles.d.ts","../../styles/dist/src/common-header-styles.d.ts","../../styles/dist/src/common-popup-styles.d.ts","../../styles/dist/src/box-padding-editor-styles.d.ts","../../styles/dist/src/gradient-direction-styles.d.ts","../../styles/dist/src/property-grid-styles.d.ts","../../styles/dist/src/table-event-styles.d.ts","../../styles/dist/src/inspector-styles.d.ts","../../styles/dist/src/line-styles.d.ts","../../styles/dist/src/action-heights.d.ts","../../styles/dist/src/form-element-heights.d.ts","../../styles/dist/src/page-frame-styles.d.ts","../../styles/dist/src/index.d.ts","../src/ox-menu-landscape.ts","../../../node_modules/lit-html/development/async-directive.d.ts","../../../node_modules/lit-html/development/directives/async-replace.d.ts","../../../node_modules/lit/development/directives/async-replace.d.ts","../../../node_modules/lit-html/development/directives/if-defined.d.ts","../../../node_modules/lit/development/directives/if-defined.d.ts","../../../node_modules/i18next/typescript/helpers.d.ts","../../../node_modules/i18next/typescript/options.d.ts","../../../node_modules/i18next/typescript/t.d.ts","../../../node_modules/i18next/index.d.ts","../../../node_modules/i18next/index.d.mts","../../i18n/dist/src/config.d.ts","../../i18n/dist/src/localize.d.ts","../../i18n/dist/src/ox-i18n.d.ts","../../i18n/dist/src/ox-i18n-selector.d.ts","../../i18n/dist/src/index.d.ts","../src/ox-menu-portrait.ts","../src/ox-menu-part.ts","../../layout/dist/src/initializer.d.ts","../../popup/dist/src/ox-popup.d.ts","../../popup/dist/src/ox-popup-list.d.ts","../../popup/dist/src/ox-popup-menu.d.ts","../../popup/dist/src/ox-popup-menuitem.d.ts","../../../node_modules/@material/web/elevation/internal/elevation.d.ts","../../../node_modules/@material/web/elevation/elevation.d.ts","../../../node_modules/@material/web/internal/controller/attachable-controller.d.ts","../../../node_modules/@material/web/focus/internal/focus-ring.d.ts","../../../node_modules/@material/web/focus/md-focus-ring.d.ts","../../../node_modules/@material/web/ripple/internal/ripple.d.ts","../../../node_modules/@material/web/ripple/ripple.d.ts","../../../node_modules/@material/web/labs/behaviors/mixin.d.ts","../../../node_modules/@material/web/labs/behaviors/element-internals.d.ts","../../../node_modules/@material/web/labs/behaviors/form-associated.d.ts","../../../node_modules/@material/web/labs/behaviors/form-submitter.d.ts","../../../node_modules/@material/web/button/internal/button.d.ts","../../../node_modules/@material/web/button/internal/filled-button.d.ts","../../../node_modules/@material/web/button/filled-button.d.ts","../../../node_modules/@material/web/button/internal/text-button.d.ts","../../../node_modules/@material/web/button/text-button.d.ts","../../popup/dist/src/ox-popup-actions.d.ts","../../popup/dist/src/ox-prompt.d.ts","../../popup/dist/src/ox-floating-overlay.d.ts","../../popup/dist/src/open-popup.d.ts","../../popup/dist/src/index.d.ts","../../layout/dist/src/layouts/ox-snack-bar.d.ts","../../layout/dist/src/components/ox-resize-splitter.d.ts","../../layout/dist/src/layouts/ox-header-bar.d.ts","../../layout/dist/src/layouts/ox-nav-bar.d.ts","../../layout/dist/src/layouts/ox-aside-bar.d.ts","../../layout/dist/src/layouts/ox-footer-bar.d.ts","../../layout/dist/src/layouts/ox-page-header-bar.d.ts","../../layout/dist/src/layouts/ox-page-footer-bar.d.ts","../../layout/dist/src/actions/layout.d.ts","../../layout/dist/src/actions/snackbar.d.ts","../../layout/dist/src/components/ox-split-pane.d.ts","../../layout/dist/src/components/ox-entity360-dock.d.ts","../../layout/dist/src/components/ox-three-pane.d.ts","../../layout/dist/src/components/ox-canvas-bar.d.ts","../../layout/dist/src/components/ox-url-tabs.d.ts","../../layout/dist/src/actions/entity360.d.ts","../../layout/dist/src/actions/entity360-registry.d.ts","../../layout/dist/src/actions/entity360-door.d.ts","../../layout/dist/src/actions/entity360-name.d.ts","../../layout/dist/src/components/ox-entity360-section.d.ts","../../layout/dist/src/index.d.ts","../src/ox-top-menu-bar.ts","../stories/ox-menu-container.ts","../stories/test-menus.ts","../stories/ox-menu-portrait.stories.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/get-diffable-html.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff-plugin.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/chai-dom-diff.d.ts","../../../node_modules/@open-wc/semantic-dom-diff/index.d.ts","../../../node_modules/chai-a11y-axe/chai-a11y-axe-plugin.d.ts","../../../node_modules/chai-a11y-axe/src/accessible.d.ts","../../../node_modules/chai-a11y-axe/index.d.ts","../../../node_modules/@types/chai-dom/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/@open-wc/testing/register-chai-plugins.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/elementupdated.d.ts","../../../node_modules/lit-html/development/static.d.ts","../../../node_modules/lit/development/static-html.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/renderable.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/dedupe-mixin/index.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/scoped-elements/dist-types/types.d.ts","../../../node_modules/@open-wc/testing-helpers/node_modules/@open-wc/scoped-elements/dist-types/html-element.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixture-no-side-effect.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/fixturewrapper.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/helpers.d.ts","../../../node_modules/lit/development/html.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/scopedelementswrapper.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/litfixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/src/stringfixture.d.ts","../../../node_modules/@open-wc/testing-helpers/types/index.d.ts","../../../node_modules/@open-wc/testing/index.d.ts","../test/menu-active.test.ts","../test/menu-badge-contrast.test.ts","../test/menu-mode.test.ts","../test/menu-privilege.test.ts","../test/ox-menu-portrait.test.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/dispatcher1-wrapper.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/socks5-proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/ffi.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/iter.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vfs.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/zlib/iter.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileIdsList":[[232,297,305,310,313,315,316,317,330],[69,232,297,305,310,313,315,316,317,330],[58,69,232,297,305,310,313,315,316,317,330],[58,69,77,232,297,305,310,313,315,316,317,330],[71,232,297,305,310,313,315,316,317,330],[56,57,232,297,305,310,313,315,316,317,330],[64,162,232,297,305,310,313,315,316,317,330],[61,64,154,156,157,158,159,160,232,297,305,310,313,315,316,317,330],[61,151,161,232,297,305,310,313,315,316,317,330],[161,232,297,305,310,313,315,316,317,330],[64,164,232,297,305,310,313,315,316,317,330],[64,150,232,297,305,310,313,315,316,317,330],[61,64,232,297,305,310,313,315,316,317,330],[64,152,232,297,305,310,313,315,316,317,330],[64,153,232,297,305,310,313,315,316,317,330],[64,67,232,297,305,310,313,315,316,317,330],[64,232,297,305,310,313,315,316,317,330],[64,157,232,297,305,310,313,315,316,317,330],[64,157,158,232,297,305,310,313,315,316,317,330],[61,64,152,232,297,305,310,313,315,316,317,330],[64,155,232,297,305,310,313,315,316,317,330],[196,197,232,297,305,310,313,315,316,317,330],[198,232,297,305,310,313,315,316,317,330],[197,199,232,297,305,310,313,315,316,317,330],[213,214,232,297,305,310,313,315,316,317,330],[213,232,297,305,310,313,315,316,317,330],[209,211,217,218,219,222,223,232,297,305,310,313,315,316,317,330],[212,215,232,297,305,310,313,315,316,317,330],[216,232,297,305,310,313,315,316,317,330],[212,216,221,232,297,305,310,313,315,316,317,330],[212,215,220,232,297,305,310,313,315,316,317,330],[196,208,224,232,297,305,310,313,315,316,317,330],[200,203,204,207,232,297,305,310,313,315,316,317,330],[196,232,297,305,310,313,315,316,317,330],[232,294,295,297,305,310,313,315,316,317,330],[232,296,297,305,310,313,315,316,317,330],[297,305,310,313,315,316,317,330],[232,297,305,310,313,315,316,317,330,339],[232,297,298,303,305,308,310,313,315,316,317,319,330,335,348],[232,297,298,299,305,308,310,313,315,316,317,330],[232,297,300,305,310,313,315,316,317,330,349],[232,297,301,302,305,310,313,315,316,317,321,330],[232,297,302,305,310,313,315,316,317,330,335,345],[232,297,303,305,308,310,313,315,316,317,319,330],[232,296,297,304,305,310,313,315,316,317,330],[232,297,305,306,310,313,315,316,317,330],[232,297,305,307,308,310,313,315,316,317,330],[232,296,297,305,308,310,313,315,316,317,330],[232,297,305,308,310,311,313,315,316,317,330,335,348],[232,297,305,308,310,311,313,315,316,317,330,337,339],[232,284,297,305,308,310,312,313,315,316,317,319,330,335,348],[232,297,305,308,310,312,313,315,316,317,319,330,335,345,348],[232,297,305,310,312,313,314,315,316,317,330,335,345,348],[231,232,233,234,235,236,237,238,239,240,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357],[232,297,305,308,310,313,315,316,317,330],[232,297,305,310,313,315,317,330],[232,297,305,310,313,315,316,317,318,330,348],[232,297,305,308,310,313,315,316,317,319,330,335],[232,297,305,310,313,315,316,317,321,330],[232,297,305,310,313,315,316,317,322,330],[232,297,305,308,310,313,315,316,317,325,330],[232,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356],[232,297,305,310,313,315,316,317,327,330],[232,297,305,310,313,315,316,317,328,330],[232,297,302,305,310,311,313,315,316,317,319,330,337,345],[232,297,305,308,310,313,315,316,317,330,331],[232,297,305,310,313,315,316,317,330,332,349,353],[232,297,305,308,310,313,315,316,317,330,335,337,338,339],[232,297,305,310,313,315,316,317,330,336,339],[232,297,305,308,310,313,315,316,317,330,335,337],[232,297,305,308,310,313,315,316,317,330,335,338,339],[232,297,305,310,313,315,316,317,330,339,349],[232,297,305,310,313,315,316,317,330,340],[232,294,297,305,310,313,315,316,317,330,335,342,348],[232,297,305,310,313,315,316,317,330,335,341],[232,297,305,308,310,313,315,316,317,330,343,344],[232,297,305,310,313,315,316,317,330,343,344],[232,297,302,305,310,313,315,316,317,319,330,335,345],[232,297,305,310,313,315,316,317,330,346],[232,297,305,310,313,315,316,317,319,330,347],[232,297,305,310,312,313,315,316,317,328,330,348],[232,297,305,310,313,315,316,317,330,349,350],[232,297,302,305,310,313,315,316,317,330,350],[232,297,305,310,313,315,316,317,330,335,351],[232,297,305,310,311,313,315,316,317,330],[232,297,305,310,313,315,316,317,318,330,353],[232,297,305,310,313,315,316,317,330,354],[232,297,300,305,310,313,315,316,317,330],[232,297,302,305,310,313,315,316,317,330],[232,297,305,310,313,315,316,317,330,349],[232,284,297,305,310,313,315,316,317,330],[232,297,305,310,313,315,316,317,330,348],[232,297,305,310,313,315,316,317,330,355],[232,297,305,310,313,315,316,317,325,330],[232,297,305,310,313,315,316,317,330,344],[232,284,297,305,308,310,311,313,315,316,317,319,325,330,335,339,348,351,353,355],[232,297,305,310,313,315,316,317,330,335,356],[232,297,305,310,313,315,316,317,330,337,357],[196,206,232,297,305,310,313,315,316,317,330],[205,232,297,305,310,313,315,316,317,330],[202,232,297,305,310,313,315,316,317,330],[201,232,297,305,310,313,315,316,317,330],[133,134,135,136,232,297,305,310,313,315,316,317,330],[133,134,135,232,297,305,310,313,315,316,317,330],[133,232,297,305,310,313,315,316,317,330],[133,134,232,297,305,310,313,315,316,317,330],[58,61,232,297,305,310,313,315,316,317,330],[59,61,232,297,305,310,313,315,316,317,330],[61,232,297,305,310,313,315,316,317,330],[59,61,128,232,297,305,310,313,315,316,317,330],[59,60,232,297,305,310,313,315,316,317,330],[70,71,72,73,74,75,76,77,78,232,297,305,310,313,315,316,317,330],[129,232,297,305,310,313,315,316,317,330],[131,232,297,305,310,313,315,316,317,330],[58,61,62,63,232,297,305,310,313,315,316,317,330],[210,232,297,305,310,313,315,316,317,330],[49,232,297,305,310,313,315,316,317,330],[232,247,250,253,254,297,305,310,313,315,316,317,330,348],[232,250,297,305,310,313,315,316,317,330,335,348],[232,250,254,297,305,310,313,315,316,317,330,348],[232,297,305,310,313,315,316,317,330,335],[232,244,297,305,310,313,315,316,317,330],[232,248,297,305,310,313,315,316,317,330],[232,246,247,250,297,305,310,313,315,316,317,330,348],[232,297,305,310,313,315,316,317,319,330,345],[232,297,305,310,313,315,316,317,330,358],[232,244,297,305,310,313,315,316,317,330,358],[232,246,250,297,305,310,313,315,316,317,319,330,348],[232,241,242,243,245,249,297,305,308,310,313,315,316,317,330,335,348],[232,250,297,305,310,313,315,316,317,330],[232,250,259,268,297,305,310,313,315,316,317,330],[232,242,248,297,305,310,313,315,316,317,330],[232,250,278,279,297,305,310,313,315,316,317,330],[232,242,245,250,297,305,310,313,315,316,317,330,339,348,358],[232,246,250,297,305,310,313,315,316,317,330,348],[232,241,297,305,310,313,315,316,317,330],[232,244,245,246,248,249,250,251,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,279,280,281,282,283,297,305,310,313,315,316,317,330],[232,250,271,274,297,305,310,313,315,316,317,330],[232,250,259,261,262,297,305,310,313,315,316,317,330],[232,248,250,261,263,297,305,310,313,315,316,317,330],[232,249,297,305,310,313,315,316,317,330],[232,242,244,250,297,305,310,313,315,316,317,330],[232,250,254,261,263,297,305,310,313,315,316,317,330],[232,254,297,305,310,313,315,316,317,330],[232,248,250,253,297,305,310,313,315,316,317,330,348],[232,242,246,250,259,297,305,310,313,315,316,317,330],[232,250,271,297,305,310,313,315,316,317,330],[232,263,297,305,310,313,315,316,317,330],[232,242,246,250,254,297,305,310,313,315,316,317,330],[232,244,250,278,297,305,310,313,315,316,317,330,339,355,358],[137,232,297,305,310,313,315,316,317,330],[138,139,140,141,232,297,305,310,313,315,316,317,330],[64,137,232,297,305,310,313,315,316,317,330],[182,232,297,305,310,313,315,316,317,330],[64,170,232,297,305,310,313,315,316,317,330],[86,232,297,305,310,313,315,316,317,330],[61,64,68,183,232,297,305,310,313,315,316,317,330],[61,64,188,232,297,305,310,313,315,316,317,330],[145,170,171,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,232,297,305,310,313,315,316,317,330],[107,232,297,305,310,313,315,316,317,330],[168,172,232,297,305,310,313,315,316,317,330],[68,165,232,297,305,310,313,315,316,317,330],[50,51,52,53,54,232,297,305,310,313,315,316,317,330],[50,51,232,297,305,310,313,315,316,317,330],[50,64,232,297,305,310,313,315,316,317,330],[50,232,297,305,310,313,315,316,317,330],[50,51,64,65,68,79,107,126,232,297,305,310,313,315,316,317,330],[50,51,52,53,64,68,79,107,126,127,143,232,297,305,310,313,315,316,317,330],[50,51,52,64,66,68,79,107,126,130,132,142,232,297,305,310,313,315,316,317,330],[50,51,64,68,79,107,191,232,297,305,310,313,315,316,317,330],[50,51,64,68,79,126,143,232,297,305,310,313,315,316,317,330],[50,64,143,193,194,232,297,305,310,313,315,316,317,330],[50,51,53,225,232,297,305,310,313,315,316,317,330],[50,51,64,143,225,232,297,305,310,313,315,316,317,330],[50,52,225,232,297,305,310,313,315,316,317,330],[50,51,54,225,232,297,305,310,313,315,316,317,330],[146,147,148,149,166,167,169,232,297,305,310,313,315,316,317,330],[64,168,232,297,305,310,313,315,316,317,330],[61,64,68,232,297,305,310,313,315,316,317,330],[61,64,68,146,232,297,305,310,313,315,316,317,330],[61,64,146,232,297,305,310,313,315,316,317,330],[61,64,148,232,297,305,310,313,315,316,317,330],[61,64,68,163,165,166,232,297,305,310,313,315,316,317,330],[89,90,91,92,232,297,305,310,313,315,316,317,330],[98,99,100,101,102,103,104,232,297,305,310,313,315,316,317,330],[85,88,93,94,95,96,97,105,106,232,297,305,310,313,315,316,317,330],[86,87,232,297,305,310,313,315,316,317,330],[80,81,82,83,84,232,297,305,310,313,315,316,317,330],[81,82,232,297,305,310,313,315,316,317,330],[80,81,83,232,297,305,310,313,315,316,317,330],[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,232,297,305,310,313,315,316,317,330]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"30db73264f423790415f2f88f22c374cb0ede9c0610fe3386ae20cc17574bcf5","signature":"a4f32f4e2c7c8b874051148ee801dede9c40258b2f79e463fd28235af0ad3bd7"},{"version":"e0fb692d4f184e4389ff15b9a3afb373e614217d11209bbb7991323f9e39ca69","signature":"84b0557232f5482a21b7e925786f210e4ad2a230fe27ea74b68a3736be9baf8b"},{"version":"6ec6e8ac686c5e83784dde22df587e8798b665af08a70c4c733576d537d8306a","signature":"176ad452b559be09c46dd0a87d559ca6a875ae9f5f6dc60b04216987ccee1172"},{"version":"207a185ae4d9a3cc6c2481e19216e02aa3b465e37bdcf2a54c2ad81963574d2b","signature":"8c343f73650fe89ac17ccf2077c92a4efb35742b1b42d211754f1ce5b29e890c"},{"version":"93d215899a1bd18750be7a232c22c14539d440c03f660b86a1db21c3186dc56c","signature":"8cccc9e3831c43812a4afa5e2725761ca82575c74febb41ffe5e0560f38e18f6"},{"version":"74012d464fbc5354ca3a7d5e71bee43b17da01a853c8ff10971bbe3680c76f40","impliedFormat":99},{"version":"5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","impliedFormat":99},{"version":"a0f82d2f9450bd147a8c137798d9501bd49b7c9e118f75b07b76709ff39b6b55","affectsGlobalScope":true,"impliedFormat":99},{"version":"00cb63103f9670f8094c238a4a7e252c8b4c06ba371fea5c44add7e41b7247e4","impliedFormat":99},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"e09db3291e6b440f7debed2227d8357e80c95987a0d0d67ac17521d8f7b11bdb","impliedFormat":99},{"version":"9a318e3a8900672b85cd3c8c3a5acf51b88049557a3ae897ccdcf2b85a8f61f9","impliedFormat":99},{"version":"1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","impliedFormat":99},{"version":"dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be","impliedFormat":99},{"version":"a1c5ae2fd49803fc6db34e95007b9c75a21aba738acc4a519c839a129e509eca","signature":"3bcaadf31685c068f5c12037763d5f7d16e86c25412946aad78e418193066ba6"},{"version":"864c2fe6da94b03dae6a4868d4bf62a02c5113bc02e13f51f4dae9d1540f34a4","signature":"b264a25bcb204cc781031cc94856e649951aaf0b3764b167c7de4f81852415ac"},{"version":"b93e2680295ac83b52846bcd76dd6d06507d3da1738ebe564a1e99543993b3b4","impliedFormat":99},{"version":"4ae1ed87c59518f4e0918a21409ec3020e97037a386b57953c6b9fed9cad6949","affectsGlobalScope":true,"impliedFormat":99},{"version":"cdeae34aca6700620ebf3f27cf7d439c3af97595dd6e2729fa4780483add5680","impliedFormat":99},{"version":"3ff87ea3471b51beaf4aa8fd8f4422862b11d343fdbb55bf383e0f8cc195a445","impliedFormat":99},{"version":"99bdf729529cdbf12e2bf76ea751b662011133dcf9e35abcb3def47bb02f7b0a","impliedFormat":99},{"version":"732fb71ecb695d6f36ddcbb72ebfe4ff6b6491d45101a00fa2b75a26b80d640f","impliedFormat":99},{"version":"039cb05125d7621f8143616c495b8e6b54249c4e64d2754b80ff93867f7f4b01","impliedFormat":99},{"version":"1b81f1fa82ad30af01ab1cae91ccaddc10c48f5916bbd6d282155e44a65d858d","impliedFormat":99},{"version":"a0fc7a02a75802678a67000607f20266cf1a49dc0e787967efe514e31b9ed0c3","impliedFormat":99},{"version":"5ebf098a1d81d400b8af82807cf19893700335cf91a7b9dbd83a5d737af34b11","impliedFormat":99},{"version":"101cf83ac3f9c5e1a7355a02e4fbe988877ef83c4ebec0ff0f02b2af022254a3","impliedFormat":99},{"version":"d017e2fcd44b46ca80cd2b592a6314e75f5caab5bda230f0f4a45e964049a43a","impliedFormat":99},{"version":"a8992b852521a66f63e0cedc6e1f054b28f972232b6fa5ca59771db6a1c8bbea","impliedFormat":99},"4d4cf93a6b4c81851ad759e4569b6feb7a701e80b13a6f9d8d9c6012bbb86bd6","2e6035af8f3e43bf95e4983329c8277d66f9b271106af27b99a85d1c1b9daf4a","df32d43311e85715e2a573239a4bbc5b78ebaf29af2af5fa8c85370197997515","3a792bbf677343364a1d9b7197c6e4e512764f17364efd656b1a3598f2a9e820","3d7c0b593a29d717b2b2ba3f03f819c3c48bf9e250d79c4a31860af80f177e8c","e576aa80090f8b6020355ca8d7f4184067c84389f4b92125be29e03b1f6c5194",{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true,"impliedFormat":1},"487213b1bcbdaa470cf59a4cea3f8a939b9222e74b455fe0fd2f0dc2346cc3c0",{"version":"8a9e962b8c98aa48377773c40ac7a3e530fb3354cec48fdb59d8e2df3a624a0c","affectsGlobalScope":true},"641089f0b8094ef74b9d4b3364d5dec1592d5e3b8a51c1ba491bc8872049e79a","8e33e65ce7fcd3cb20e29505452daa51543003d5db597f1aca2a51ff9043c8a7","b42033bf1067564808e4d360d79281667c2b3b0792c2d615ab641eb85974d4ba","7af29b0589483f7bb8a99405ddb849f34bc053146184561ed4179e02f5fe4d0f","ad3ee9f7d14ad8b7ae8094d0f1a2276656f7a970827d4030d1dead7c2d765f75","9c7568f9c75cf6a7d35dc9f18c5971cd5b21344c686c7cce56b3558d3305d40f","fc48282c397084016a939e1b3f91dcaf4199b6cba339d91d8b2dc2acade79762","3e62a55b950132d6eeacc607b7a1bff990d5484347b2be5a1f54db51af30ff25","8b86f33b7e06e2f0a3bf4703cf9d8b0baab016e36b83f2a33dac184f061e17ea","88c205bacab539d8e844b80a1ec76fc649fbc731f12dfd7cca160976b5ddfd5a","565d32dce0b8761e7cfafe40c56a8a0fab0bb9e7bb35a31d9712643b3c8dbbc4","4bde12afd6fdd6e52d7316e00adfbccd70becc3ebd9c4f647d07caef53a474ae","a7e588bdba05f1fb78f83e50ee62c93565134d3b996babf2697c2b43fcf17ce0","218a0f93d7091c68718ec4260f41f3a61b5ecb7e786a8c04e296292ff41db8f0","cf45487aeb18b31f1001b99d06793986ac3e6840b0602f9cf3756a2724348bf4","81f0a95843ae6e5a006addc4b5c217b075057ff82c9bc319655de21a13ba9f10","1a68f44e90ac5c261a3157004a7ec18759982b91fd725537d6db919d83601dd1","daccba798a74fc239523622caf24656e28b78dac33ea8a031682280fd51b0d0f","0c417e2683399126bc68aced0c37b3d9b8b72c37d390569595f73447c067d97b","cf93fb9208a01c80f0fad245c4360356e5de6c2384b7641acf0b9cc2f5c42448","336398b0efaf964124e636a9b29c4edd5870aee79ac64bf87be58a9d66b7c048","571bc65ec37ba124e762bb822e14a2b8502dc684e356be8feaccbd6b9cadd023","7cd455fc4c4818f19263d73b29c59f3fb5fd54b45a6ab83ca3eb3661281db56b","d428a9fbb7cc014b69651793373edf9be9b0bba7c3e7f720d2a294dd1a50d7c5","1c6b9b5501774a2ece6574be8e26092800e3f1f836f8c179b4f9fdd271a620f8","bcd2426fd141157e04e3a8eff914b575403587f398cf0878f07c2f283e0d1afd","bac8ff394e831e4dd3f0961d6abb414b0e2b4ba16fdeb502d087ebf0340ed5f6","d9f8946a29f08d831605e6a9005785842dfbe5b09e5d38b6bf5073a11453890a","b337608772b9df38e69b89837ecf758100e6c1c7acd4d0f10595f738faf1d034","c89d663edb7c20cfab677286571dc8f4f09878119d7ecd010895133995f12532","9d04b912e18e966fca08158f28e5c41bfb2fa864187d926e04d737aa83a96e17","2ad4fcfa075cde73e5ae78491531cef44cec9fb9a880be8335afd98c444528cf","881cb6bb1e6384a9943b8c6f1cd3a0f215a683b032130f700e0d87bc9a990727","e2d895b9561b0b9a350c970475ff268e4e0fc44436e107a916889a0a93d3389b","302a06cbb95a5c6041745f5f8f64a0a7b2fe7926f2ee71f96644f473d6804a44","bfa39163a2b652b382fa019284a857b7a8a25eb3c4469124088530cead0ba347","0e8028822fd379c0133a7451f95729ef9cd548ac584e09f95d5bd57a93d23363","18811c4c3ed17976ad7125d62352c870be56778a3e40950b72f4d21099274581",{"version":"edce72f988c83157a88933338f4cdcf3bc72118ab04d9ac07cd35abee7c92678","signature":"143f8d604ef3ed044bfdeda068f2b4f33d0cd8df6d9d42b26a2ecce9426cb0bc"},{"version":"c42f9b18f5f559b133cf9b409f678afb30df9c6498865aae9a1abad0f1e727a8","impliedFormat":99},{"version":"feaf207fddc69de2a8826438be06f5f954964cddc8e95bf980c9fe02cb22616a","impliedFormat":99},{"version":"e3d6176dc713a2b6b17054021a6aa839824bf43f358e3ae12192b54c6de1a6b4","impliedFormat":99},{"version":"74fe889b1d2bba4b2893d518ba94e2b20dabe6d19d0c2f9554d9a5d3755710f4","impliedFormat":99},{"version":"2ae64cd7b6e760496069ee3b496c64700c956a0620740e1ef52b163824859db7","impliedFormat":99},{"version":"e30accdbef6f904f20354b6f598d7f2f7ff29094fc5410c33f63b29b4832172a","impliedFormat":1},{"version":"3786a961459023ec78bb575e5ea74f504d3ffc61ae82a305c959a4d94d7d70eb","impliedFormat":1},{"version":"de83915a380bdd6d7ddf075e3f60fe347db64ad4d06822835724ac601cb61daf","impliedFormat":1},{"version":"4d39c150715cb238da715e5c3fbeac2e2b2d0ef3f23c632996dd59ae35ba1f45","impliedFormat":1},{"version":"e9f80c5934982b97886eadab6684c073344a588d1758b12fba2d0184e6f450a2","impliedFormat":99},"0f81a53d54fd2b4ae2bf60067d616de99884bda21cb5784d942089d52319fb97","86d356e64ab8d56852623677eb1bed0c106703aed9b7788ad8a5a56e647822cb","29dca1b5f0cac95b675f86c7846f9d587ed47cc46609dd00d152bcb37683b069","231d829c892caeb88dd469e0847bf9d14e29c82b8b158b381ec866c868adf9af","886bcc73e8cf74ebec1bd14a5cc5b8dfa28276210df634e6f81c844b1eef767b",{"version":"5012b442083094b3f86e160aa9c81377e4b0d224ba29b0fede620186e5f38aae","signature":"02fe50a11bf8c03d31c39acadf143dbdf9560c0969c32322959c19ca2cd81e7d"},{"version":"2228a9e165866636123924e1557fd8e83e42127105e049abddbb9467d2c30577","signature":"1a2c7c8a8a6c53487774f22819087d2068fa7f61502374e2dbfa0966483de46d"},"60997095f458b8c2c94af5759c796d9d17678e740a41a04c3e518c14c47f2ee7",{"version":"75069a2a1e380502ff9a1074b8ee61f5e84f31973e5f81b444e6993e5633c72b","affectsGlobalScope":true},"8aff91f00938aa90ce829f4d577903d6826fa19e8edc583f7bb64ef1a6b4ae3b","986165ecc3a59d4b6a272a92f7ca4fd7a0762c63a674abd2c1efa0bea64da604","3e7b241ec38126d95f9e37c49a631c00cff006a888276e2d02920c6443c8b593",{"version":"6184309fe39e2fe444f4ba94e7cd1abef48fcb48e258457c3b77c65828184241","impliedFormat":99},{"version":"98c511f60c3079d731a35353a47bfa89dd79eeacad48a45d07170d22ef4bfd02","affectsGlobalScope":true,"impliedFormat":99},{"version":"905800cc110167503d0cf58bb0dd6fa4aaac1e9cedc9bd9c48e5d1f8b5b8d4c8","impliedFormat":99},{"version":"d17be577b99e59611df19ca2cf0356df554f55bb06617c21321fc4ec06b820d0","impliedFormat":99},{"version":"5f30145fbc8ca508ae4e0d90a4fe9eaff490783f380a92f6aa262accdf7887b7","affectsGlobalScope":true,"impliedFormat":99},{"version":"cefe49d29d43726072e88671a2c40cdeeb8d49ca8fa6c2d4b06013dc7b9d6206","impliedFormat":99},{"version":"f882b77c5939860d599b4b7bc39f741ebcd56123e18b284500f4b8923acd2e72","affectsGlobalScope":true,"impliedFormat":99},{"version":"0230bc76ed3a464531a43d2434d315b9cc2096aaca28bdaa65b8f9dce9f3bc81","impliedFormat":99},{"version":"559d2d1cd7f37dc2ac59e7adce198ad16a5eb0c7273d67b8e4ff72821b7c853f","impliedFormat":99},{"version":"6161d12fc14a8e0cf492f9d49372a1189b1fe005662cb7fe6630352a6b0bb04e","impliedFormat":99},{"version":"7d3c06d4ad79d86c6f7518b77d335b324bc218a7cd8b3e15579c4b584b7307f9","impliedFormat":99},{"version":"65f5bc7ff74eeabe9925da575924601248471033c27bf0384643ea03cad2b57d","impliedFormat":99},{"version":"d08d474654640266d6ac03f51ee04d72438b78ea377b9dc4678c480ce0477e1a","impliedFormat":99},{"version":"929f21090183949e93fd99327d292bff76f781895d5252eb43319b2c3e014528","affectsGlobalScope":true,"impliedFormat":99},{"version":"0f28503979e769f6ee6e55350f621dc00e300f15688d52b02edc62d837d29b1d","impliedFormat":99},{"version":"fe869c79d427e84d916011d082def68a793c3c13e157079fec399f250418bd50","affectsGlobalScope":true,"impliedFormat":99},"a2afc55ddd24edebefe497c415aee63498b099cef639b85a1bb3163e58649928","7484a732937e15e0a09057c111599847b794bd834969305eaa12fe59d51724ac","f6eb4e48956cfa37ae7467498f0a691a88cce11328ffa15ebccde173e15e32bc","acb5066874b8199737f556febc1b1b2446e3fa456586af98ec43b200912e0b59","c9d3623b528f615e0466361855fbba048e88d381bb5257f23c37062b2fdb6039","3c523c4338a858825c62005f03ff49eeaf8290bdda52a8b8554be555bab7a077","5582fb24ca35ef8a72d61a095d62ae2ada8143c33bc56febf626e333d3a5b013","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","9d89de778f5c38f0fa4cbd27236724c9fa24d796032062a929772c8cd3baffa5","c0178facd144177de1b1bb22d5083a02b83b8a390519e23e959420fe720aacf2","07d5eb23abd7084841b9e51a04fe6b9ffd0b5f5eb04bcee3447fd958aab634b7","86d239790a025b4f1213571ed5d578b9080415e1218b253b499ed73ac436ae63","2d17e611213a31d33db4feab0cee6dc503705cf6b266a6f259cbaf78387d7ff2",{"version":"8760a7cd91c9859edd408fc7f2fd286c0b2383c9f16b59e5465081b2567ce5b7","affectsGlobalScope":true},{"version":"5425a627e508bc6d1ccfb1ea6f8d250f93c6fa7fe034e6f1b03a48e8ce0a3167","affectsGlobalScope":true},{"version":"7a57df5934cd17f2fd7b640275089eed07e2efe1e29daa2f61e61f1e08dac023","affectsGlobalScope":true},"64f49d783fd85a7031364a512b70410d45352e507ced759f3c9b6c3e70df83db","ab3c51d38bb2e334127c989e8fbcbf8160a08517f5b3bad789dc414d0876eb05","81715d46da9f89ebedf6cbfb1d436fa6bf847652bd8a125d0893e3b47399f316","cc6e710bf911f8e494e14365b733a56d2c53a093ff1c5af2aee11dd651760327",{"version":"c360546ca0d716d461f18e5fdc72a4b9a6482f2d5dbb1c384213bbc4a6cb35b1","affectsGlobalScope":true},"d19235267a3cf397c03160f19fa3a7b24fa686f28e681ad7f761397b54f69d29",{"version":"de53165df4274f512d63c56ad34b21c451f86e3cfd2d1e2dd866c5250e0924e8","signature":"79deb069b1537b1757965b5b16e5b8e6921017ce3f7088d1d813eee727b4b49e"},{"version":"7676ea7aed13b1887f9d232ea2d5d6f7dbf9cf04adedc9f78985893eb9b4a189","signature":"1004e6124d3c4663544dbb9431bdfb786459e4ca93d02cfe0ffcd8a0994af69d"},{"version":"4eb26a88276bdfea327e95d4ba3918a6cb8053cf19f4bdb3153020ab650ae7af","signature":"acfcfdf417c988d67e5d48f5fcff7b6dd52c88720ecd635137a2929170836244"},{"version":"f69671beaabadb5eb4b29d05eafde2114c1a3950069916a799ea8e2e97696e6b","signature":"52b248e376193dd4349afee293aaa4c7b4899dddae63cfa5a8a05cb980c24e04"},{"version":"eef204f061321360559bd19235ea32a9d55b3ec22a362cc78d14ef50d4db4490","affectsGlobalScope":true,"impliedFormat":1},{"version":"72bee526b949b9932edba50997ff3b9cdede7b314d790d5f0d94f3d2944930ea","impliedFormat":99},{"version":"2d412861573a672bd90fdcb1e48740593324565f3b3aaf6808c0e3e2f0d54ae8","affectsGlobalScope":true,"impliedFormat":99},{"version":"cd711db43a952f15464b571ac11b7a440332cd52342bc92c4bf908c70688f57f","affectsGlobalScope":true,"impliedFormat":99},{"version":"9d8709c916778cb34830708ed47b78e9a46d1fb2eb73a682b14eee990bed4aa6","impliedFormat":99},{"version":"507e2131e89b515ce40c05c0c2fef6cc575ba8947703f92e8cdf36078747a9ff","affectsGlobalScope":true,"impliedFormat":99},{"version":"999a90d30a3183dcee987d0a5a7c586aba5bacbf6ce087ba8635124082ccfeea","impliedFormat":99},{"version":"8a5878edd52f4a720560b4c6e6247e9ddc3df6118ad9cf2f9927903b03d5f440","impliedFormat":99},{"version":"e7be17cfcbe98809c052f384c230ecea9e1cee045edac9db0659e997a988ff9e","affectsGlobalScope":true,"impliedFormat":1},{"version":"baf3507287629018d38c88e2636dd041550c70620bb774127011eb6dc3b361c0","impliedFormat":1},{"version":"4738bc5d39ac01532d861967a4fe52769e3892fb8022d4524802ac1c7aed4934","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"65b91a3725399231d3469529b5e27b85bf2aa98013e607f308e5fe260b47eeff","impliedFormat":99},{"version":"04e3793f33c71ceae20a4719698c068b72c98cf925b3c5f8a33096c00ed44258","impliedFormat":99},{"version":"fa8ef3fb228e258f9508386e2056c95c959d1c1168301181313a5c978754ba70","impliedFormat":99},{"version":"15c9478a8a3d630ac5e738aca25fca15d0842aaeb97fb1a9c1e80eddc5a0e14c","impliedFormat":99},{"version":"cc46ce345c0e19e456388446733250527eead4ca557b5e5fdf0c2e30adc3c89f","impliedFormat":99},{"version":"88cda4269c54f0803834fd62b2fac61af8bff7a085693f7ca9df85c1f19dee8a","impliedFormat":99},{"version":"5a2888a80ba9fae27aaa312464ab4b744ce4cfce573c105844ad8e94a39e2d7d","affectsGlobalScope":true,"impliedFormat":99},{"version":"260d1e9ec9c633c7ae90d8c17762e77924eef5d71357b27bfd351da698db4f6d","impliedFormat":99},{"version":"6168f8e0a5b354f8177bf0dee7c1a69c2afb6a155d5534221f3a1a2d86b84367","impliedFormat":99},{"version":"d7840fd94e6dfb5b0d9df5a20fe1e79c8dd72b1efdb74d2ef04c31e3588c6b5b","impliedFormat":99},{"version":"fa6d684e15fe6e99c7208a51b45c04f8e0147f1c8587871aac48fff55b7b1f24","impliedFormat":99},{"version":"d61a4b627c3e2e054616df905a25226f547dc0e821c2a2b6d5f13318b3fd7e78","impliedFormat":99},{"version":"1308479c593c3d337bd9c438ac1d7164006a9286638cec0b26e3331a978f91d4","impliedFormat":99},{"version":"cfad37dbd7cf27cc16758755847ad7c07ac52a01c466486e50f8f84d0f0ea9ce","impliedFormat":99},{"version":"0c4d3009672fd12d4d9a6505e769de9369c180dcfa8188d9fd850ec156245d87","impliedFormat":99},{"version":"793fca6322a14fa8fa6bc6a4fc694fd7bcc88922c4f9abcd48bf6908f8bf939b","impliedFormat":99},{"version":"be3e93b109deb44b925583674cc0706c0b3c2e7316bcf79631285a45c18ed0c8","impliedFormat":99},{"version":"50f63746fc2a779d1f9c5657fd78e292045dc98b540e026799e039ea629f2943","impliedFormat":99},{"version":"8527c0f0749def85b8890d0ea09343d9670b0c45794ff27321de93100de1ac8d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1e90cd76e64b93c2b16b31a3f8a8e305cab40d36bca0bce953499fb4ff2d5bda","signature":"8c60144e64b097f4d8d99e882cbce15c62b40377ba544267315c8284e150c921"},{"version":"8c6ea4dfb3dc8853b017c3d32b5daa85c7a8f8d369948fbd549ec92cc5bc9ece","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1e07c908517c06ef99001d074c4068deb989e7410ade42fc54b213e041ee82d2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5ced4bf2cf1794f1bf29df5be94b7f6795a14cd0c260fc5e78719c24a51ff547","signature":"8c60144e64b097f4d8d99e882cbce15c62b40377ba544267315c8284e150c921"},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9b68a1c3f8f45b4c199fa5b3ac09497230cb8f2f0cdcfebe5817b30b836a64a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f53a7652392cf26ebbe4e29fd0672aa87c93bd6d0241289c13fab87b9ac35c8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"b00a630557d1622ad312633bdbfbdb9c6b7220d948dca9f899db30679f160074","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"88809d6c1b9c78d04a133646a6feb926def05a8774c308c7c93bc32ee163d271","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"21d7fab00c101ddf754b392e11534e6b20c6bda269b2ccbcdf3453cbe21d8a39","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"d3c85d4dde1a4918009e37426ee4a940cbbd4100e2e74d03e2de0d50a77bb488","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"60e3ba4b2d24548107060e5d13bffafbbbaa53d001c07bbe40386deda569b5e8","impliedFormat":1},{"version":"a712be2c8cbe0154bd17d1d7bff503d7c04331e0745eb9eea3d303e0e5d9401e","impliedFormat":1},{"version":"25bd6ae1b97ea991433337310fc406cc7c9f271b67b7c79dd24eee384759f3d4","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"38004e6801340cb890afb8cb5a9fc8972297e7f88ab94026e4b0b3c61fb32f8a","impliedFormat":1},{"version":"4ca7fb8f6018ea836b1ad24f67d5e7c2cf7410af7462e0ccc90b012944f5d7ae","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"149f9a9e7f04e67afa0e2a49fc0ff421035c01d6b793cfcae7d2e9f6819431e2","impliedFormat":1},{"version":"e8a9dfa4c75ef6d25df8b40eaa9c31e0a69452aaf2ced4a3f4215dbdbaa876f4","impliedFormat":1},{"version":"a70af845a2eb9dd6e2723e319e14ea7fb28b129ec1361c21509b49305448c323","impliedFormat":1},{"version":"b53dc572d4f187904207ae1166652de47aab8eeb00c254d009cb226863076b56","impliedFormat":1},{"version":"57354d2f022ed64ede57b2e052306dd076a138b551abc7d30ef5e6718ce2f76a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"f501234c5aeeeb5d7659412335227466aaacf30b952372d60afeb21c02c96348","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"358f74dc35927dc88ea86dd201a2b98e701c281615e6b30a4c153eb0bb90ef71","impliedFormat":1},{"version":"8b91ff5bb912be3ea213cbcf0075aace1f5d4ff249a0d227ed673868cb7bfabc","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"706abfbafe0ed5f685357375e89bbf48879549ea1772185d77d15f587c5c9400","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"013ff793053d33a15be4614efdd6c50247bbf0b26d6bc58ba338622a7441b543","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"436d7b4543b340b0f3eef4310d524242e41369b9652aa9c70428767c4dcac455","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"e99963ae1e3a48ca7a7958c02f3e88bb963eb7978c28b68ae6b8c9f03309d83c","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"279d0cc1a72879918854265c3405369aa2d4d23509b8694ea102995b298cc5e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"594ae90cacd813fa392ff80d2e0a8eff4e41f4a136329a940e321399dd8895b4","impliedFormat":1},{"version":"d1f333ade8ff35a409b4984e1f11956fe11c61855b0c7e9b59f0313e48b40c4a","impliedFormat":1},{"version":"0224aa4b3464895d69c413a640a19ac2166778a74eb5eb3b36b021c72d42b274","impliedFormat":1},{"version":"575aa163c4c32e5b82e0e99b1f9f80806e1d78bfa259706e05139251c022277b","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fb21326854faaa31ef02c9d51629fb6acedacb9396e74bf22ff8409441ea9ae","impliedFormat":1},{"version":"2fbf504c4791f9d32cd766cfe6b605bcda63289b925401953a7900db9af85348","impliedFormat":1},{"version":"ed0fb633cae35948d9e144004299a4bdf1ab912667c787b7fbffcd6d8c7b92a2","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"7db737262597ae2e35daa8cc1748f482cf4b0914e00a3d5a32cf6c4fc869a375","impliedFormat":1},{"version":"9c90f502816bd0179556bb875e86c944af3f6b995cde63199edbe4e0b1219aba","impliedFormat":1},{"version":"97581dc7099ef3d844c83706d53a7ecf895c0e867fbf6b9dc035bb3080f677bd","impliedFormat":1},{"version":"e494b286c8e27c52f8c7f945aa80ff223f2a3cd4f7a2619fa8991f1459e26f07","impliedFormat":1},{"version":"f54f5f9e10bbceba7515dfad0ffc89dffdb8d749d0604594c57a725cf6d79c20","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"8c7e618c2a91ea7f6b5cca272a295864e92c16413be8fc56a943e8c7d5320011","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f487e411f9657df0e76572e500c1209b8fe95ee3b4cc6e6e7913c15f56207d","impliedFormat":1},{"version":"9d37b8a9678efbcdf38238b59ce8e6f7db70aba1a516f3a4a671a301dbacfb3d","impliedFormat":1},{"version":"a47a792b8cff71443be8dfb199f2b77e102a7bf9d4f90c18059f05d9af2d7413","impliedFormat":1},{"version":"ad50512520720d10294c629cb4e2df23891c3fcbeaca00fbfb9e6bbea65f3dd6","impliedFormat":1},{"version":"189769511b45c93b23ba76069f7701d3b631cfbedc1eb94c7753486c78736f78","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"ba389fd3d7fba6670e97bc82eb12469dcb371d22f24e63859c1df5a083c823ed","impliedFormat":1},{"version":"5ff4433a2deae4f85ab1377e90a7554ce6b47ae51c69a84ca30a6e22fae85834","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"97234c5303866576f913d0ccae7d58d6322d9e803c7bf1228a3fda46ab8087b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"961dec547748827cb6b45f6fdc66273f7bacd9c73103c6779f070f2fd07f23f9","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"73eeb740dacc45adc607a4f59f90fa9dbe2717d93d82f115f45f34e18f8d644a","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"d251cda16f3f6a3e07f07c9e6e823ef6c583c63f653eb8777dafa749a78298e3","impliedFormat":1},{"version":"361939136b496a38b3e6b7be750bbb6998ef289bb8dd304c673138542ca16137","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"89e2568ebc2ec1e4149384b105e80e8bbf41eb4d711547f1121f4f628028de96","impliedFormat":1},{"version":"441b9bb09013654aa3d050e68b06464d8959b473e85868249d9d18f692acd35b","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"55246f15e33ff1e2e9e679b25fa9790a48db55dc63d567fe25fac8b6a0efe911","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"925734f303b7f0cc111d42aeb21781d38a79e6d5ac05b2b1400cd1861a75d27b","impliedFormat":1},{"version":"5b26c4dd672d88336bb929787c9bfb55119e80ba89ec6dc923da1c063892843e","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"7286e4e5f80c0b1ab16addbdbbc9dd47fbae1c42034189261177b84d745cde3b","impliedFormat":1},{"version":"f12624a4a8d042b68914eac1b0a16571fc1c523173fcdf2517c65d191bd5a86c","impliedFormat":1},{"version":"cd2a656ba1d250c2002190b683e3826bf4362b6919450bc0f9bbf5612ebad837","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"3e221ff0522e6ff95aa74a5211126aaf4d7e85ed8c8ff19290d591ad4bef988f","impliedFormat":1},{"version":"7da83f6429c6298ebf2be43d296b56ecfc94c9c28f5471b2f23b87545b914cea","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"751048d4aa67e20e5ecd2692340ea0d19bae42a20cc651d6f56d095e411ce3ac","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"aed8f3e5c7e53462565eedf34a9bcb700393cb2c1ab0c768602b929c3ed3145d","impliedFormat":1},{"version":"8e2577e7262051fd3c5bd6ca2b2056d358ff8853565720f92455860824c25188","impliedFormat":1},{"version":"7ec8d7d483f7394f9da611b10d3a0e402f76ff5c991261e6ce43a15f81ca4258","impliedFormat":1},{"version":"bb9dbb4b2ad81e3e71ec5ba4314973718555b9d04ba2a17dfbf875efecb8e2c0","impliedFormat":1},{"version":"9021dc5be8f3a87af5cede29221188a6497e2092b6889e0be212ef6b6b7153e9","impliedFormat":1},{"version":"4a8c8fd951d9fd9e0775f0aae8ed1f8b528204e24a2600bea3a1228ea83de52c","impliedFormat":1},{"version":"5b9cc0c724a8ebc7a873ab8e73c20b2416cef04b9e9d7f95ef1fa0fdcd4e0ec8","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"80a4b7023a2cc9f14d3f2e4635d6615ab3eff4b5b3630f62a8e73992fdd8cdb9","impliedFormat":1},{"version":"ec62d16f95636123624a69191a35b5df44b4b0a6428977e856c5739c0a787471","impliedFormat":1},{"version":"afa1c49f8e559e413d57343339db857d2a8159435cf9cf7d4deb41718fff1b88","impliedFormat":1},{"version":"c46f111af647c4134ae869653130610d62da321f90ebf19e186a3ea4bed79350","impliedFormat":1},{"version":"29f72ec1289ae3aeda78bf14b38086d3d803262ac13904b400422941a26a3636","affectsGlobalScope":true,"impliedFormat":1}],"root":[[51,55],65,66,127,143,144,[192,195],[226,230]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"referencedMap":[[56,1],[69,1],[70,2],[73,3],[71,3],[75,3],[78,4],[77,3],[76,3],[74,3],[72,5],[57,1],[58,6],[163,7],[161,8],[162,9],[164,10],[165,11],[151,12],[150,13],[153,14],[154,15],[68,16],[67,13],[152,17],[158,18],[159,19],[160,19],[157,1],[155,20],[156,21],[198,22],[199,23],[197,1],[200,24],[213,1],[215,25],[214,26],[224,27],[209,1],[216,28],[217,29],[218,1],[219,26],[222,30],[212,17],[221,31],[223,29],[225,32],[208,33],[204,34],[196,1],[359,1],[294,35],[295,35],[296,36],[232,37],[297,38],[298,39],[299,40],[300,41],[301,42],[302,43],[303,44],[304,45],[305,46],[306,46],[307,47],[308,48],[309,1],[310,49],[311,50],[233,1],[231,1],[312,51],[313,52],[314,53],[358,54],[315,55],[316,56],[317,55],[318,57],[319,58],[321,59],[322,60],[323,60],[324,60],[325,61],[326,62],[327,63],[328,64],[329,65],[330,66],[331,66],[332,67],[333,1],[334,1],[335,68],[336,69],[337,70],[338,71],[339,72],[340,73],[341,74],[342,75],[343,76],[344,77],[345,78],[346,79],[347,80],[348,81],[349,82],[350,83],[351,84],[352,85],[353,86],[354,87],[234,55],[235,1],[236,88],[237,89],[238,1],[239,90],[240,1],[285,91],[286,92],[287,93],[288,93],[289,94],[290,1],[291,38],[292,95],[293,92],[355,96],[356,97],[357,98],[207,99],[206,100],[205,1],[60,1],[320,1],[201,34],[203,101],[202,102],[137,103],[136,104],[133,1],[134,105],[135,106],[62,107],[128,108],[59,109],[129,110],[131,109],[63,1],[61,111],[210,109],[79,112],[130,113],[132,114],[220,109],[64,115],[211,116],[86,1],[50,117],[49,1],[47,1],[48,1],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[19,1],[20,1],[4,1],[21,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[29,1],[30,1],[31,1],[32,1],[6,1],[36,1],[33,1],[34,1],[35,1],[37,1],[7,1],[38,1],[43,1],[44,1],[39,1],[40,1],[41,1],[42,1],[1,1],[45,1],[46,1],[259,118],[273,119],[256,120],[274,121],[283,122],[247,123],[248,124],[246,125],[282,126],[277,127],[281,128],[250,129],[260,130],[270,131],[249,132],[280,133],[244,134],[245,127],[251,130],[252,1],[258,135],[255,130],[242,136],[284,137],[275,138],[263,139],[262,130],[264,140],[267,141],[261,142],[265,143],[278,126],[253,144],[254,145],[268,146],[243,121],[272,147],[271,130],[257,145],[266,148],[269,149],[276,1],[241,1],[279,150],[138,151],[142,152],[139,153],[141,13],[140,13],[188,1],[189,17],[187,17],[186,154],[179,155],[180,156],[184,157],[182,17],[190,158],[172,13],[181,13],[183,13],[185,13],[191,159],[145,160],[175,161],[176,161],[173,161],[174,161],[178,161],[177,161],[171,162],[55,163],[53,164],[65,165],[52,166],[66,165],[54,164],[127,167],[144,168],[143,169],[192,170],[51,166],[193,171],[195,172],[194,164],[226,173],[227,174],[228,175],[229,176],[230,174],[170,177],[169,178],[168,179],[166,13],[147,180],[148,181],[149,182],[146,13],[167,183],[89,1],[91,1],[92,1],[93,184],[90,1],[94,17],[97,156],[98,17],[99,17],[100,17],[105,185],[101,17],[102,17],[103,17],[104,17],[96,1],[107,186],[87,156],[95,1],[106,1],[88,187],[80,1],[85,188],[83,189],[82,190],[84,1],[81,1],[123,17],[117,17],[114,17],[111,1],[113,17],[115,17],[116,17],[124,17],[112,17],[118,17],[108,17],[126,191],[121,17],[122,17],[125,17],[119,17],[109,17],[110,17],[120,17]],"version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@operato/menu",
|
|
3
3
|
"description": "Webcomponent menu following open-wc recommendations",
|
|
4
4
|
"author": "heartyoh",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "11.0.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/src/index.js",
|
|
8
8
|
"module": "dist/src/index.js",
|
|
@@ -55,15 +55,15 @@
|
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"@material/web": "^2.0.0",
|
|
58
|
-
"@operato/data-grist": "^
|
|
59
|
-
"@operato/graphql": "^
|
|
60
|
-
"@operato/i18n": "^
|
|
61
|
-
"@operato/input": "^
|
|
62
|
-
"@operato/layout": "^
|
|
63
|
-
"@operato/popup": "^
|
|
64
|
-
"@operato/shell": "^
|
|
65
|
-
"@operato/styles": "^
|
|
66
|
-
"@operato/utils": "^
|
|
58
|
+
"@operato/data-grist": "^11.0.0",
|
|
59
|
+
"@operato/graphql": "^11.0.0",
|
|
60
|
+
"@operato/i18n": "^11.0.0",
|
|
61
|
+
"@operato/input": "^11.0.0",
|
|
62
|
+
"@operato/layout": "^11.0.0",
|
|
63
|
+
"@operato/popup": "^11.0.0",
|
|
64
|
+
"@operato/shell": "^11.0.0",
|
|
65
|
+
"@operato/styles": "^11.0.0",
|
|
66
|
+
"@operato/utils": "^11.0.0",
|
|
67
67
|
"lit": "^3.1.2"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
@@ -98,5 +98,5 @@
|
|
|
98
98
|
"prettier --write"
|
|
99
99
|
]
|
|
100
100
|
},
|
|
101
|
-
"gitHead": "
|
|
101
|
+
"gitHead": "2f1a60d5341bf785141558d13e4a05ca9c186edd"
|
|
102
102
|
}
|