@rainbow-robotics/muscat-plugin-kit 1.1.5 → 1.2.1
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/README.md +99 -0
- package/cli/README.md +32 -1
- package/cli/bin/muscat-pk.mjs +33 -6
- package/cli/src/dev.mjs +2 -1
- package/cli/src/devBack.mjs +8 -7
- package/cli/src/manifest.mjs +54 -0
- package/cli/src/mcp.mjs +58 -3
- package/cli/src/new.mjs +3 -0
- package/cli/src/ports.mjs +3 -3
- package/cli/src/templates-embedded.mjs +3 -0
- package/cli/src/util.mjs +13 -0
- package/cli/storybook-dist/assets/{Color-YHDXOIA2-YYWRJKA2.js → Color-YHDXOIA2-CSzM1dKs.js} +1 -1
- package/cli/storybook-dist/assets/{Docs-DT9RD87x.js → Docs-BIcNCkcj.js} +1 -1
- package/cli/storybook-dist/assets/{Docs-CKJ2w--X.js → Docs-Bhl2G8dW.js} +1 -1
- package/cli/storybook-dist/assets/{Docs-DIJ7cbFD.js → Docs-CxnHR1EX.js} +1 -1
- package/cli/storybook-dist/assets/Docs-DGfEBD4U.js +7 -0
- package/cli/storybook-dist/assets/{Docs-UmN7NFo1.js → Docs-Q256LO6R.js} +1 -1
- package/cli/storybook-dist/assets/Docs-y19ER8GV.js +20 -0
- package/cli/storybook-dist/assets/{DocsRenderer-CFRXHY34-CyAy1mnJ.js → DocsRenderer-CFRXHY34-DnUkc2jA.js} +1 -1
- package/cli/storybook-dist/assets/NxAvatar.stories-D8_zg1ow.js +13 -0
- package/cli/storybook-dist/assets/NxButton.stories-DJ27PRZJ.js +20 -0
- package/cli/storybook-dist/assets/{NxNumberInput.stories-zlQJuGFP.js → NxNumberInput.stories-DAhhfwBb.js} +3 -3
- package/cli/storybook-dist/assets/NxPagination.stories-B0B2V-we.js +11 -0
- package/cli/storybook-dist/assets/NxPointerHoldButton.stories-Cs9aWGqX.js +14 -0
- package/cli/storybook-dist/assets/{NxRangeInput.stories-Cu5ZWU0w.js → NxRangeInput.stories-A3qk290L.js} +3 -3
- package/cli/storybook-dist/assets/NxSelectBox.stories-BtA0bI0U.js +17 -0
- package/cli/storybook-dist/assets/NxSlideRange.stories-DaVwMyfI.js +14 -0
- package/cli/storybook-dist/assets/NxSwitch.stories-MEpYcafd.js +11 -0
- package/cli/storybook-dist/assets/NxTextArea.stories-8PqT83b0.js +11 -0
- package/cli/storybook-dist/assets/NxTextInput.stories-DwOvyFAK.js +11 -0
- package/cli/storybook-dist/assets/RBAccordion.stories-l_KWmznJ.js +17 -0
- package/cli/storybook-dist/assets/RBAccordionGroup.stories-BHwMLO_b.js +33 -0
- package/cli/storybook-dist/assets/RBAlert.stories-XeJozdck.js +17 -0
- package/cli/storybook-dist/assets/RBBadge.stories-BoIw5gFT.js +1 -0
- package/cli/storybook-dist/assets/RBBattery.stories-C_qyHveA.js +10 -0
- package/cli/storybook-dist/assets/RBCard.stories-jFfiHYKe.js +45 -0
- package/cli/storybook-dist/assets/RBCheckBox.stories-DTfCEweM.js +1 -0
- package/cli/storybook-dist/assets/RBCheckIconButton.stories-CTDnyUqG.js +1 -0
- package/cli/storybook-dist/assets/RBCheckLabelButton.stories-DmquL7n0.js +24 -0
- package/cli/storybook-dist/assets/RBChipTab.stories-B8zl9AG8.js +21 -0
- package/cli/storybook-dist/assets/RBChipsBoxTab.stories-BGRQ_ix8.js +1 -0
- package/cli/storybook-dist/assets/RBColorIcons.stories-s5QE7tL1.js +3 -0
- package/cli/storybook-dist/assets/{RBCommand.stories-C3bwPq2T.js → RBCommand.stories-Yrpy_B26.js} +3 -3
- package/cli/storybook-dist/assets/RBConfirm.stories-C9qrp3br.js +20 -0
- package/cli/storybook-dist/assets/RBDateInput.stories-DZpvxSqb.js +15 -0
- package/cli/storybook-dist/assets/RBDialog.stories-DSonk9Bx.js +38 -0
- package/cli/storybook-dist/assets/RBDivider.stories-CtuMDRWW.js +1 -0
- package/cli/storybook-dist/assets/RBDrawer.stories-BNjRz9Cf.js +14 -0
- package/cli/storybook-dist/assets/{RBDropdownMenu.stories-9fBcV2Ct.js → RBDropdownMenu.stories-Bjl9aOPU.js} +2 -2
- package/cli/storybook-dist/assets/RBEmptyView.stories-ChMkuohg.js +12 -0
- package/cli/storybook-dist/assets/RBIconButton.stories-B5R9unwo.js +1 -0
- package/cli/storybook-dist/assets/RBIcons.stories-Cp5JeZNr.js +3 -0
- package/cli/storybook-dist/assets/RBInlineLabelButton.stories-Dl_km9SD.js +1 -0
- package/cli/storybook-dist/assets/RBJoyStick.stories-g1XwqElo.js +11 -0
- package/cli/storybook-dist/assets/RBLabelButton.stories-iNSl-cdD.js +1 -0
- package/cli/storybook-dist/assets/RBLight.stories-DptPacw1.js +1 -0
- package/cli/storybook-dist/assets/RBMenubar.stories-CTH4jNi6.js +3 -0
- package/cli/storybook-dist/assets/RBMultiRangeInput.stories-BD138rOz.js +14 -0
- package/cli/storybook-dist/assets/RBPagination.stories-DaXD-840.js +17 -0
- package/cli/storybook-dist/assets/RBPopover.stories-BHA1-yYi.js +11 -0
- package/cli/storybook-dist/assets/RBPrompt.stories-CoEeIK6d.js +20 -0
- package/cli/storybook-dist/assets/RBRadioBox.stories-CePglWfe.js +1 -0
- package/cli/storybook-dist/assets/RBRadioButton.stories-BRNRgcJb.js +11 -0
- package/cli/storybook-dist/assets/RBRangeDateInput.stories-B6ukx3Pl.js +15 -0
- package/cli/storybook-dist/assets/RBResizable.stories-DqoaWeqW.js +20 -0
- package/cli/storybook-dist/assets/RBSelectBox.stories-8QBhknxC.js +6 -0
- package/cli/storybook-dist/assets/RBSheet.stories-Doaw8VOp.js +39 -0
- package/cli/storybook-dist/assets/RBSideNumberInput.stories-BmAEpYFE.js +5 -0
- package/cli/storybook-dist/assets/RBSlider.stories-CH-Hkgd6.js +5 -0
- package/cli/storybook-dist/assets/RBSpinner.stories-BEceevO_.js +14 -0
- package/cli/storybook-dist/assets/{RBSwitch.stories-CBYXvhkd.js → RBSwitch.stories-BoZzoyfx.js} +2 -2
- package/cli/storybook-dist/assets/RBTab.stories-CN3Algxc.js +1 -0
- package/cli/storybook-dist/assets/RBTable.stories-C1UgfrL_.js +62 -0
- package/cli/storybook-dist/assets/RBTableRow.stories-ASxrEiHq.js +11 -0
- package/cli/storybook-dist/assets/RBTabs.stories-0tMRRXl4.js +21 -0
- package/cli/storybook-dist/assets/RBTextArea.stories-DhWXTnBK.js +5 -0
- package/cli/storybook-dist/assets/RBTextField.stories-BLI0HpCu.js +45 -0
- package/cli/storybook-dist/assets/RBTextInput.stories-J8FkNDJo.js +5 -0
- package/cli/storybook-dist/assets/RBToast.stories-D8UxgdX3.js +11 -0
- package/cli/storybook-dist/assets/RBToggle.stories-CjwzqnV-.js +12 -0
- package/cli/storybook-dist/assets/RBToggleGroup.stories-3JwuIqYr.js +17 -0
- package/cli/storybook-dist/assets/RBTooltip.stories-Wkx6rfug.js +9 -0
- package/cli/storybook-dist/assets/{MapEditor-C6_H9h5t.css → SideNumberInput-SAkhydsn.css} +2 -2
- package/cli/storybook-dist/assets/SideNumberInput-_BKR64MG.js +1114 -0
- package/cli/storybook-dist/assets/{entry-preview-N9dpIJQA.js → entry-preview-VQeOKtPr.js} +1 -1
- package/cli/storybook-dist/assets/{iframe-BwCxSq5d.js → iframe-Ci_IjEPD.js} +2 -2
- package/cli/storybook-dist/assets/{index-CgJh_5EZ.js → index-DVR_O3uO.js} +3 -3
- package/cli/storybook-dist/assets/preview-BVJWkKiZ.css +1 -0
- package/cli/storybook-dist/assets/preview-CO9TxipX.js +3 -0
- package/cli/storybook-dist/assets/{preview-DsYc6ovL.js → preview-DAZ7L_eg.js} +2 -2
- package/cli/storybook-dist/assets/react-resizable-panels.browser-BpHwB_WW.js +102 -0
- package/cli/storybook-dist/iframe.html +1 -1
- package/cli/storybook-dist/project.json +1 -1
- package/cli/templates/common/README.md +229 -19
- package/cli/templates/common/manifest.json +1 -0
- package/cli/templates/common/requirements.txt +3 -3
- package/package.json +3 -3
- package/cli/storybook-dist/assets/Docs-DLFwGiks.js +0 -7
- package/cli/storybook-dist/assets/Docs-dOc9cH1E.js +0 -20
- package/cli/storybook-dist/assets/MapEditor-Jj1J2sUz.js +0 -6418
- package/cli/storybook-dist/assets/NxAvatar.stories-B-iQoylp.js +0 -13
- package/cli/storybook-dist/assets/NxButton.stories-CawQZN07.js +0 -20
- package/cli/storybook-dist/assets/NxPagination.stories-VYXLplNl.js +0 -11
- package/cli/storybook-dist/assets/NxPointerHoldButton.stories-BpqIkt0X.js +0 -14
- package/cli/storybook-dist/assets/NxSelectBox.stories-JECi_1PM.js +0 -17
- package/cli/storybook-dist/assets/NxSlideRange.stories-DJe8F2Mv.js +0 -14
- package/cli/storybook-dist/assets/NxSwitch.stories-DX6LxxQL.js +0 -11
- package/cli/storybook-dist/assets/NxTextArea.stories-Cy42nYOI.js +0 -11
- package/cli/storybook-dist/assets/NxTextInput.stories-Bb_q6FuW.js +0 -11
- package/cli/storybook-dist/assets/RBAccordion.stories-ChgPXO0_.js +0 -17
- package/cli/storybook-dist/assets/RBAccordionGroup.stories-nmbqYYSE.js +0 -33
- package/cli/storybook-dist/assets/RBAlert.stories-ChOPuFxI.js +0 -17
- package/cli/storybook-dist/assets/RBBadge.stories-Bas7g4jb.js +0 -1
- package/cli/storybook-dist/assets/RBBattery.stories-C0MywWvB.js +0 -10
- package/cli/storybook-dist/assets/RBCard.stories-Ba7y0u6Q.js +0 -45
- package/cli/storybook-dist/assets/RBCheckBox.stories-CsHFsXCd.js +0 -1
- package/cli/storybook-dist/assets/RBCheckIconButton.stories-GERClL9R.js +0 -1
- package/cli/storybook-dist/assets/RBCheckLabelButton.stories-C-BrmKaW.js +0 -24
- package/cli/storybook-dist/assets/RBChipTab.stories-C8JCa6F9.js +0 -21
- package/cli/storybook-dist/assets/RBChipsBoxTab.stories-DmUaHBJ3.js +0 -1
- package/cli/storybook-dist/assets/RBColorIcons.stories-Bcah6eZe.js +0 -3
- package/cli/storybook-dist/assets/RBConfirm.stories-CT0GuE-J.js +0 -20
- package/cli/storybook-dist/assets/RBDateInput.stories-CMd2xRCF.js +0 -15
- package/cli/storybook-dist/assets/RBDialog.stories-Ui5Ni-P_.js +0 -38
- package/cli/storybook-dist/assets/RBDivider.stories-r8TDiO36.js +0 -1
- package/cli/storybook-dist/assets/RBDrawer.stories-CymmrHjI.js +0 -14
- package/cli/storybook-dist/assets/RBEmptyView.stories-By9vncNC.js +0 -12
- package/cli/storybook-dist/assets/RBIconButton.stories-DC29KMxX.js +0 -1
- package/cli/storybook-dist/assets/RBIcons.stories-Dpd_V9b9.js +0 -3
- package/cli/storybook-dist/assets/RBInlineLabelButton.stories-CfUQdAdt.js +0 -1
- package/cli/storybook-dist/assets/RBJoyStick.stories-Dl-uXk9x.js +0 -11
- package/cli/storybook-dist/assets/RBLabelButton.stories-Dx_Vn6EM.js +0 -1
- package/cli/storybook-dist/assets/RBLight.stories-Cm5UYJ4n.js +0 -1
- package/cli/storybook-dist/assets/RBMenubar.stories-CN5z7F6D.js +0 -3
- package/cli/storybook-dist/assets/RBMultiRangeInput.stories-DrAMI4mQ.js +0 -14
- package/cli/storybook-dist/assets/RBPagination.stories-BVLXuTLw.js +0 -17
- package/cli/storybook-dist/assets/RBPopover.stories-VCws5q80.js +0 -11
- package/cli/storybook-dist/assets/RBPrompt.stories-Cw5-wssh.js +0 -20
- package/cli/storybook-dist/assets/RBRadioBox.stories-ClqGtGA_.js +0 -1
- package/cli/storybook-dist/assets/RBRadioButton.stories-SxcJFioj.js +0 -11
- package/cli/storybook-dist/assets/RBRangeDateInput.stories-L_wCftDv.js +0 -15
- package/cli/storybook-dist/assets/RBResizable.stories-2VytDv6m.js +0 -20
- package/cli/storybook-dist/assets/RBSelectBox.stories-BoOKTSL_.js +0 -6
- package/cli/storybook-dist/assets/RBSheet.stories-CUClMqKK.js +0 -39
- package/cli/storybook-dist/assets/RBSideNumberInput.stories-BTYDDAmk.js +0 -5
- package/cli/storybook-dist/assets/RBSlider.stories-Bu6vD9ym.js +0 -5
- package/cli/storybook-dist/assets/RBSpinner.stories-XmVcaTVS.js +0 -14
- package/cli/storybook-dist/assets/RBTab.stories-DFFYlkCv.js +0 -1
- package/cli/storybook-dist/assets/RBTable.stories-CR2j2EQQ.js +0 -62
- package/cli/storybook-dist/assets/RBTableRow.stories-CpPIP1au.js +0 -11
- package/cli/storybook-dist/assets/RBTabs.stories-Bew5XVDZ.js +0 -21
- package/cli/storybook-dist/assets/RBTextArea.stories-JiRn-tk_.js +0 -5
- package/cli/storybook-dist/assets/RBTextField.stories-8LWyUBm9.js +0 -45
- package/cli/storybook-dist/assets/RBTextInput.stories-PLJ70xm5.js +0 -5
- package/cli/storybook-dist/assets/RBToast.stories-BQf_9x0k.js +0 -11
- package/cli/storybook-dist/assets/RBToggle.stories-C5dZnmX_.js +0 -12
- package/cli/storybook-dist/assets/RBToggleGroup.stories-D7fwXCxA.js +0 -17
- package/cli/storybook-dist/assets/RBTooltip.stories-D-sWRxbA.js +0 -9
- package/cli/storybook-dist/assets/RainbowUiProvider-CsMXuxM1.js +0 -31
- package/cli/storybook-dist/assets/preview-CzDPTg-k.js +0 -3
- package/cli/storybook-dist/assets/preview-DZWUyVBI.css +0 -1
- package/cli/storybook-dist/assets/react-resizable-panels.browser-CHDWt8fa.js +0 -72
- /package/cli/storybook-dist/assets/{RainbowUiProvider-BaelaOGy.css → react-resizable-panels-BaelaOGy.css} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// AUTO-GENERATED by cli/bundle-templates.mjs — do not edit.
|
|
2
|
+
// ponytail: generated at publish time; not tracked in git.
|
|
3
|
+
export const TEMPLATES = {"common/.mcp.json":"ewogICJtY3BTZXJ2ZXJzIjogewogICAgIm11c2NhdCI6IHsKICAgICAgImNvbW1hbmQiOiAibXVzY2F0LXBrIiwKICAgICAgImFyZ3MiOiBbIm1jcCJdCiAgICB9CiAgfQp9Cg==","common/README.md":"IyBfX1BMVUdJTl9OQU1FX18KCkEgTXVzY2F0IHBsdWdpbiBwcm9qZWN0LiBCdWlsZCwgZGV2ZWxvcCwgYW5kIHNoaXAgd2l0aCBgbXVzY2F0LXBrYCBDTEkuCgojIyBRdWljayBzdGFydAoKYGBgYmFzaAptdXNjYXQtcGsgZGV2ICAgICAgICAjIFVJIHByZXZpZXcgKyBiYWNrZW5kIHRvZ2V0aGVyCm11c2NhdC1wayBkZXY6dWkgICAgICMgVUkgcHJldmlldyBvbmx5Cm11c2NhdC1wayBkZXY6YmFjayAgICMgYmFja2VuZCBvbmx5IChQeXRob24gd2F0Y2hmaWxlcyAvIFJPUzIgRG9ja2VyKQptdXNjYXQtcGsgYnVpbGQgICAgICAjIGJ1aWxkICsgZGlzdHJpYnV0YWJsZSBaSVAKYGBgCgotLS0KCiMjIFByb2plY3Qgc3RydWN0dXJlCgpgYGAKX19QTFVHSU5fRElSX18vCuKUnOKUgCB1aS8K4pSCICAg4pSc4pSAIGNvbnRlbnQudHN4ICAgICAgIyBwbHVnaW4gVUkgZW50cnkgcG9pbnQK4pSCICAg4pSU4pSAIHN0eWxlLmNzcyAgICAgICAgIyBwbHVnaW4gc3R5bGVzIGF1dG8tbG9hZGVkIGJ5IG11c2NhdCgpCuKUnOKUgCBweS8K4pSCICAg4pSU4pSAIG1haW4ucHkgICAgICAgICAgIyBQeXRob24gYmFja2VuZCBlbnRyeSBwb2ludArilJzilIAgYXNzZXRzLwrilIIgICDilJTilIAgaWNvbi5zdmcgICAgICAgICAjIGljb24gcmVmZXJlbmNlZCBmcm9tIG1hbmlmZXN0CuKUnOKUgCBtYW5pZmVzdC5qc29uICAgICAgICAjIG1ldGFkYXRhLCBjb250cmlidXRpb24gcG9pbnRzLCBydW50aW1lIGNvbmZpZwrilJzilIAgUkVBRE1FLm1kICAgICAgICAgICAgIyB0aGlzIGZpbGUgKGNvcGllZCB0byBkaXN0LyBvbiBidWlsZCkK4pSU4pSAIHJlcXVpcmVtZW50cy50eHQgICAgICMgUHl0aG9uIGRlcHMgKGF1dG8tcGlubmVkIHRvIGxhdGVzdCBvbiBidWlsZCkKYGBgCgo+IFJPUzIgcGx1Z2lucyBhZGRpdGlvbmFsbHkgaW5jbHVkZSBhIGByb3MyX3dzL2AgZGlyZWN0b3J5LgoKLS0tCgojIyBGcm9udGVuZCAoYHVpL2NvbnRlbnQudHN4YCkKCiMjIyBKYXZhU2NyaXB0IGRlcGVuZGVuY2llcwoKYG11c2NhdC1wayBidWlsZGAgcnVucyB0aGlzIHBsdWdpbiBwcm9qZWN0J3Mgb3duIFZpdGUgYnVpbGQuIFZpdGUgcmVzb2x2ZXMKaW1wb3J0cyBmcm9tIGluc3RhbGxlZCBgbm9kZV9tb2R1bGVzYDsgaXQgZG9lcyBub3QgY2FyZSB3aGV0aGVyIGEgcGFja2FnZSBpcwpsaXN0ZWQgdW5kZXIgYGRlcGVuZGVuY2llc2Agb3IgYGRldkRlcGVuZGVuY2llc2AsIGJ1dCB0aGUgcGFja2FnZSBtdXN0IGJlCmluc3RhbGxlZC4KCkRvIG5vdCBydW4gYSBwcm9kdWN0aW9uLW9ubHkgaW5zdGFsbCBzdWNoIGFzIGBucG0gaW5zdGFsbCAtLW9taXQ9ZGV2YCBiZWZvcmUKYnVpbGRpbmcgdGhlIHBsdWdpbiBVSSwgYmVjYXVzZSBidWlsZCB0b29scyBsaWtlIGB2aXRlYCwgYHR5cGVzY3JpcHRgLApgdGFpbHdpbmRjc3NgLCBgQHRhaWx3aW5kY3NzL3ZpdGVgLCBgc2Fzc2AsIG9yIGBsZXNzYCBhcmUgdXN1YWxseQpgZGV2RGVwZW5kZW5jaWVzYC4KClRoZSBzY2FmZm9sZCBrZWVwcyB0aGlzIHNwbGl0OgoKfCBwYWNrYWdlIGtpbmQgfCBleGFtcGxlcyB8IHdoeSB8CnwtLS18LS0tfC0tLXwKfCBgZGVwZW5kZW5jaWVzYCB8IGBAcmFpbmJvdy1yb2JvdGljcy9wbHVnaW4tdWlgLCBVSSBsaWJyYXJpZXMgaW1wb3J0ZWQgYnkgcGx1Z2luIHNvdXJjZSB8IEF1dGhvci1mYWNpbmcgQVBJcyB1c2VkIGJ5IGB1aS8qLnRzeGAgfAp8IGBkZXZEZXBlbmRlbmNpZXNgIHwgYHZpdGVgLCBgdHlwZXNjcmlwdGAsIGB0YWlsd2luZGNzc2AsIGBAdGFpbHdpbmRjc3Mvdml0ZWAsIGBzYXNzYCwgYGxlc3NgIHwgQnVpbGQvZGV2IHRvb2xzIG5lZWRlZCBiZWZvcmUgYGRpc3QvKi5qc2AgaXMgcHJvZHVjZWQgfAoKVGhlIGJ1aWx0IHBsdWdpbiBaSVAgZG9lcyBub3QgaW5jbHVkZSBgcGFja2FnZS5qc29uYCBvciBgbm9kZV9tb2R1bGVzYC4gRm9yCnByb2R1Y3Rpb24sIE11c2NhdCBwcm92aWRlcyBgQHJhaW5ib3ctcm9ib3RpY3MvcGx1Z2luLXVpYCwgUmVhY3QsIGFuZCBSZWFjdERPTQp0aHJvdWdoIHRoZSBob3N0IGltcG9ydCBtYXA7IHBsdWdpbiBVSSBidWlsZCBvdXRwdXQgaW1wb3J0cyB0aG9zZSBhcyBob3N0CmV4dGVybmFscy4KCiMjIyBTdHlsZXMKCmBtdXNjYXQoKWAgYXV0b21hdGljYWxseSBsb2FkcyBgdWkvc3R5bGUue2NzcyxzY3NzLHNhc3MsbGVzc31gIChvcgpgdWkvc3R5bGVzLntjc3Msc2NzcyxzYXNzLGxlc3N9YCkgZm9yIGV2ZXJ5IFVJIGVudHJ5LCBwbHVzCmB1aS97ZW50cnl9Lntjc3Msc2NzcyxzYXNzLGxlc3N9YCBmb3IgYSBtYXRjaGluZyBlbnRyeS1zcGVjaWZpYyBzdHlsZXNoZWV0LiBZb3UKZG8gbm90IG5lZWQgdG8gaW1wb3J0IENTUyBmcm9tIGV2ZXJ5IGAudHN4YCBmaWxlLgoKVGhlIHNjYWZmb2xkIHVzZXMgVGFpbHdpbmQncyB0aGVtZS91dGlsaXRpZXMgbGF5ZXJzIG9ubHksIHNvIHBsdWdpbiB1dGlsaXRpZXMKYXJlIGdlbmVyYXRlZCBmcm9tIGZpbGVzIHVuZGVyIGB1aS9gIHdpdGhvdXQgYXBwbHlpbmcgVGFpbHdpbmQgcHJlZmxpZ2h0IHJlc2V0cwp0byB0aGUgaG9zdCBwYWdlLgoKQnVpbHQgQ1NTIHNlbGVjdG9ycyBhcmUgc2NvcGVkIHVuZGVyIHRoZSBjdXJyZW50IHBsdWdpbiBpZAooYFtkYXRhLW11c2NhdC1wbHVnaW4taWQ9Ii4uLiJdYCkuIENTUy1pbi1KUyBsaWJyYXJpZXMgc3VjaCBhcyBFbW90aW9uIHdvcmsKbm9ybWFsbHksIGJ1dCBnbG9iYWwgc3R5bGVzIHNob3VsZCBiZSBzY29wZWQgYnkgdGhlIGF1dGhvci4KCiMjIyMgVGFpbHdpbmQKClRoaXMgdGVtcGxhdGUgZW5hYmxlcyBUYWlsd2luZCBpbiBgdml0ZS5jb25maWcudHNgOgoKYGBgdHMKaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAidml0ZSI7CmltcG9ydCB0YWlsd2luZGNzcyBmcm9tICJAdGFpbHdpbmRjc3Mvdml0ZSI7CmltcG9ydCB7IG11c2NhdCB9IGZyb20gIkByYWluYm93LXJvYm90aWNzL211c2NhdC1wbHVnaW4ta2l0L3ZpdGUiOwoKZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHsKICBwbHVnaW5zOiBbdGFpbHdpbmRjc3MoKSwgbXVzY2F0KCldLAp9KTsKYGBgCgpUaGUgZGVmYXVsdCBgdWkvc3R5bGUuY3NzYCB1c2VzIFRhaWx3aW5kIHRoZW1lL3V0aWxpdGllcyBvbmx5LCBub3QgcHJlZmxpZ2h0OgoKYGBgY3NzCkBsYXllciB0aGVtZSwgdXRpbGl0aWVzOwoKQGltcG9ydCAidGFpbHdpbmRjc3MvdGhlbWUuY3NzIiBsYXllcih0aGVtZSk7CkBpbXBvcnQgInRhaWx3aW5kY3NzL3V0aWxpdGllcy5jc3MiIGxheWVyKHV0aWxpdGllcyk7CgpAc291cmNlICIuLyoqLyoue3RzLHRzeH0iOwpgYGAKCiMjIyMgU0NTUywgU2FzcywgYW5kIExlc3MKCkluc3RhbGwgdGhlIHByZXByb2Nlc3NvciBwYWNrYWdlLCB0aGVuIGNyZWF0ZSBvbmUgb2YgdGhlIGF1dG8tbG9hZGVkIHN0eWxlIGZpbGVzLgoKYGBgYmFzaApucG0gaSAtRCBzYXNzCmBgYAoKYGBgc2NzcwovKiB1aS9zdHlsZS5zY3NzICovCiRhY2NlbnQ6ICMzYjgyZjY7CgoucGFuZWwgewogIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCAkYWNjZW50IDQwJSwgdHJhbnNwYXJlbnQpOwoKICAmX190aXRsZSB7CiAgICBjb2xvcjogJGFjY2VudDsKICB9Cn0KYGBgCgpGb3IgTGVzcywgaW5zdGFsbCBgbGVzc2AgYW5kIHVzZSBgdWkvc3R5bGUubGVzc2AuCgojIyMjIEVtb3Rpb24KCkVtb3Rpb24gZGVwZW5kZW5jaWVzIG1heSBiZSBpbiBgZGVwZW5kZW5jaWVzYCBvciBgZGV2RGVwZW5kZW5jaWVzYDsgVml0ZSBjYW4KYnVuZGxlIHRoZW0gd2hlbiB0aGV5IGFyZSBpbnN0YWxsZWQgYW5kIGltcG9ydGVkIGJ5IHRoZSBwbHVnaW4uCgpGb3IgYHN0eWxlZGAsIG5vIFZpdGUgY29uZmlnIGNoYW5nZSBpcyBuZWVkZWQ6CgpgYGBiYXNoCm5wbSBpIEBlbW90aW9uL3JlYWN0IEBlbW90aW9uL3N0eWxlZApgYGAKCmBgYHRzeAppbXBvcnQgc3R5bGVkIGZyb20gIkBlbW90aW9uL3N0eWxlZCI7Cgpjb25zdCBQYW5lbCA9IHN0eWxlZC5kaXYoewogIGRpc3BsYXk6ICJncmlkIiwKICBnYXA6IDEyLAp9KTsKYGBgCgpGb3IgRW1vdGlvbidzIGBjc3NgIHByb3AsIHBhc3MgUmVhY3QgcGx1Z2luIG9wdGlvbnMgdGhyb3VnaCBgbXVzY2F0KClgIGFuZCBhZGQKYGpzeEltcG9ydFNvdXJjZWAgdG8gYHRzY29uZmlnLmpzb25gOgoKYGBgYmFzaApucG0gaSBAZW1vdGlvbi9yZWFjdCBAZW1vdGlvbi9zdHlsZWQKbnBtIGkgLUQgQGVtb3Rpb24vYmFiZWwtcGx1Z2luCmBgYAoKYGBgdHMKLy8gdml0ZS5jb25maWcudHMKaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAidml0ZSI7CmltcG9ydCB0YWlsd2luZGNzcyBmcm9tICJAdGFpbHdpbmRjc3Mvdml0ZSI7CmltcG9ydCB7IG11c2NhdCB9IGZyb20gIkByYWluYm93LXJvYm90aWNzL211c2NhdC1wbHVnaW4ta2l0L3ZpdGUiOwoKZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHsKICBwbHVnaW5zOiBbCiAgICB0YWlsd2luZGNzcygpLAogICAgbXVzY2F0KHsKICAgICAgcmVhY3Q6IHsKICAgICAgICBqc3hJbXBvcnRTb3VyY2U6ICJAZW1vdGlvbi9yZWFjdCIsCiAgICAgICAgYmFiZWw6IHsKICAgICAgICAgIHBsdWdpbnM6IFsiQGVtb3Rpb24vYmFiZWwtcGx1Z2luIl0sCiAgICAgICAgfSwKICAgICAgfSwKICAgIH0pLAogIF0sCn0pOwpgYGAKCmBgYGpzb24KewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAianN4SW1wb3J0U291cmNlIjogIkBlbW90aW9uL3JlYWN0IgogIH0KfQpgYGAKCkVtb3Rpb24gYEdsb2JhbGAgd3JpdGVzIGdsb2JhbCBDU1MgYXQgcnVudGltZSwgc28gc2NvcGUgaXQgbWFudWFsbHkgb3IgYXZvaWQgaXQKaW5zaWRlIHBsdWdpbnMuCgojIyMgdXNlUmIoKSBob29rCgpBY2Nlc3MgdGhlIGNvbW11bmljYXRpb24gQVBJIGJldHdlZW4gdGhlIHBsdWdpbiBtb2R1bGUgYW5kIFVJIGZyb20gYW55IHBsdWdpbiBjb21wb25lbnQuCgpgYGB0c3gKaW1wb3J0IHsgdXNlUmIgfSBmcm9tICJAcmFpbmJvdy1yb2JvdGljcy9wbHVnaW4tdWkvc2RrIjsKCmZ1bmN0aW9uIEFwcCgpIHsKICBjb25zdCByYiA9IHVzZVJiKCk7Cn0KYGBgCgojIyMgcmIgQVBJCgp8IE1ldGhvZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfAp8IGByYi5wdWIodG9waWMsIHBheWxvYWQpYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFB1Ymxpc2ggYSBtZXNzYWdlIHRvIGEgdG9waWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8IGByYi5zdWIodG9waWMsIGhhbmRsZXIpYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFN1YnNjcmliZSB0byBhIHRvcGljIOKAlCByZXR1cm5zIGB7IHVuZGVjbGFyZSgpIH1gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYHJiLmFjdGlvbih0b3BpYywgcGF5bG9hZD8pYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU2VuZCBhIHJlcXVlc3QgYW5kIGF3YWl0IGEgcmVwbHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYHJiLnNlcnZlKHRvcGljLCBoYW5kbGVyKWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSGFuZGxlIGluY29taW5nIHJlcXVlc3RzIGZyb20gdGhlIGJhY2tlbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYHJiLnRvYXN0KHsgdGl0bGU/LCBtZXNzYWdlLCB0eXBlPywgYWN0aW9uTGFiZWw/LCBoYW5kbGVBY3Rpb25DbGljaz8sIGNsb3NlT25BY3Rpb25DbGljaz8sIGR1cmF0aW9uPywgb25DbG9zZT8gfSlgIHwgU2hvdyBhIGhvc3QgdG9hc3Qgbm90aWZpY2F0aW9uLiBgbWVzc2FnZWAgYWNjZXB0cyBhIHN0cmluZyBvciBgUmVhY3RFbGVtZW50YC4gYHR5cGVgIGNhbiBiZSBgImluZm8iYCwgYCJkYW5nZXIiYCwgYCJ3YXJuaW5nImAsIGAiY2F1dGlvbiJgLCBvciBgInN1Y2Nlc3MiYCB8CnwgYHJiLmFsZXJ0KHsgdGl0bGU/LCBtZXNzYWdlLCBidXR0b25UZXh0PyB9KWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU2hvdyBhIGhvc3QgYWxlcnQgZGlhbG9nLiBSZXNvbHZlcyB3aGVuIHRoZSBkaWFsb2cgaXMgY2xvc2VkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYHJiLmNvbmZpcm0oeyB0aXRsZT8sIG1lc3NhZ2UsIGJ1dHRvblRleHQ/IH0pYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU2hvdyBhIGhvc3QgY29uZmlybWF0aW9uIGRpYWxvZy4gYGJ1dHRvblRleHRgIGFjY2VwdHMgYHsgeWVzLCBubyB9YC4gUmVzb2x2ZXMgdG8gYHRydWVgIG9yIGBmYWxzZWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYHJiLnByb21wdCh7IHRpdGxlPywgbWVzc2FnZSwgdmFsdWU/LCBwbGFjZWhvbGRlcj8sIGJ1dHRvblRleHQ/IH0pYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU2hvdyBhIGhvc3QgcHJvbXB0IGRpYWxvZy4gYGJ1dHRvblRleHRgIGFjY2VwdHMgYHsgeWVzLCBubyB9YC4gUmVzb2x2ZXMgdG8gdGhlIGVudGVyZWQgc3RyaW5nIG9yIGB1bmRlZmluZWRgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CgpUb3BpYyBuYW1lcyBwYXNzZWQgdG8gYHB1YmAsIGBzdWJgLCBgYWN0aW9uYCwgYW5kIGBzZXJ2ZWAgYXJlIGlzb2xhdGVkIHBlciBwbHVnaW4uCgoKQWxsIG1ldGhvZHMgc3VwcG9ydCBHZW5lcmljIFR5cGVzOgoKYGBgdHN4CmNvbnN0IHN0YXR1cyA9IGF3YWl0IHJiLmFjdGlvbjx7IG9rOiBib29sZWFuIH0sIHsgaWQ6IG51bWJlciB9PigKICAiZ2V0LXN0YXR1cyIsCiAgeyBpZDogMSB9LAopOwoKY29uc3Qgc3ViID0gYXdhaXQgcmIuc3ViPHsgdmFsdWU6IG51bWJlciB9Pigic2Vuc29yL2RhdGEiLCAoZGF0YSkgPT4gewogIGNvbnNvbGUubG9nKGRhdGEudmFsdWUpOwp9KTsKc3ViLnVuZGVjbGFyZSgpOyAvLyBjbGVhbnVwCgpjb25zdCBvayA9IGF3YWl0IHJiLmNvbmZpcm0oewogIHRpdGxlOiAiUnVuIiwKICBtZXNzYWdlOiAiU3RhcnQgdGhlIGJhY2tlbmQgYWN0aW9uPyIsCn0pOwppZiAob2spIHsKICBhd2FpdCByYi5hY3Rpb24oInJ1biIpOwp9CmBgYAoKIyMjIFNhdmluZyBhbmQgcmVzdG9yaW5nIGZvcm0gZGF0YSAoYHVzZVJiRm9ybURhdGFgIC8gYHVzZVJiU2F2ZWApCgpJZiB0aGUgaG9zdCBlbWJlZHMgeW91ciBwbHVnaW4gaW4gYSBmb3JtIGl0IG93bnMgKGUuZy4gYSBwcm9ncmFtIHN0ZXAgZWRpdG9yCndpdGggaXRzIG93biBTYXZlIGJ1dHRvbiksIGl0IGNhbiBoYW5kIHlvdXIgcGx1Z2luIHByZXZpb3VzbHktc2F2ZWQgdmFsdWVzIGFuZApwdWxsIHRoZSBjdXJyZW50IHZhbHVlcyBiYWNrIG91dCB3aGVuIHRoZSB1c2VyIHNhdmVzLiBUaGUgaG9zdCDigJQgbm90IHRoZQpwbHVnaW4g4oCUIHBlcnNpc3RzIHRoZSBkYXRhIChJbmRleGVkREIsIGJhY2tlbmQsIGV0Yy4pLgoKYGBgdHN4CmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAicmVhY3QiOwppbXBvcnQgeyB1c2VSYkZvcm1EYXRhLCB1c2VSYlNhdmUgfSBmcm9tICJAcmFpbmJvdy1yb2JvdGljcy9wbHVnaW4tdWkvcmVhY3QiOwoKdHlwZSBHcmlwQXJncyA9IHsgdGFyZ2V0TmFtZTogc3RyaW5nOyB3aWR0aDogbnVtYmVyIH07CmNvbnN0IERFRkFVTFRTOiBHcmlwQXJncyA9IHsgdGFyZ2V0TmFtZTogIiIsIHdpZHRoOiAyMCB9OwoKZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXBwKCkgewogIC8vIFByZXZpb3VzbHktc2F2ZWQgdmFsdWVzLCBvciB1bmRlZmluZWQgZm9yIGEgYnJhbmQtbmV3IGluc3RhbmNlLgogIGNvbnN0IHNhdmVkID0gdXNlUmJGb3JtRGF0YTxHcmlwQXJncz4oKTsKICBjb25zdCBbYXJncywgc2V0QXJnc10gPSB1c2VTdGF0ZTxHcmlwQXJncz4oeyAuLi5ERUZBVUxUUywgLi4uc2F2ZWQgfSk7CgogIC8vIFJlZ2lzdGVycyBhIGdldHRlciB0aGUgaG9zdCBjYWxscyB3aGVuIGl0cyBTYXZlIGJ1dHRvbiBpcyBjbGlja2VkLgogIC8vIEFsd2F5cyByZXR1cm5zIHRoZSBDVVJSRU5UIHZhbHVlcyDigJQgcmUtcmVnaXN0ZXJpbmcgb24gZXZlcnkgcmVuZGVyIGtlZXBzCiAgLy8gdGhlIGNsb3N1cmUgZnJlc2gsIHdoaWNoIHVzZVJiU2F2ZSBhbHJlYWR5IGhhbmRsZXMgZm9yIHlvdS4KICB1c2VSYlNhdmUoKCkgPT4gKHsKICAgIGFyZ3MsCiAgICBzdW1tYXJ5OiBgJHthcmdzLnRhcmdldE5hbWUgfHwgInRhcmdldCJ9IMK3ICR7YXJncy53aWR0aH1tbWAsCiAgfSkpOwoKICByZXR1cm4gKC8qIC4uLmZvcm0gVUkgcmVhZGluZy93cml0aW5nIGBhcmdzYC4uLiAqLyk7Cn0KYGBgCgpUaGUgdmFsdWUgcmV0dXJuZWQgZnJvbSBgdXNlUmJTYXZlYCBtdXN0IGJlIEpTT04tc2VyaWFsaXNhYmxlIOKAlCB0aGUgaG9zdApwZXJzaXN0cyBpdCBhcy1pcy4gTm90IGV2ZXJ5IGhvc3QgZW1iZWRzIHBsdWdpbnMgaW4gYSBzYXZlL3Jlc3RvcmUgZm9ybTsgaWYKeW91cnMgZG9lc24ndCwgeW91IGNhbiBza2lwIHRoZXNlIGhvb2tzIGVudGlyZWx5LgoKIyMjIFVJIGNvbXBvbmVudHMKCkltcG9ydCBNdXNjYXQgY29tcG9uZW50cyBmcm9tIGBAcmFpbmJvdy1yb2JvdGljcy9wbHVnaW4tdWkvcmVhY3RgIGFuZCBleHBvcnQgYQpSZWFjdCBjb21wb25lbnQgYXMgdGhlIGRlZmF1bHQgZXhwb3J0LiBUaGUgaG9zdCBtb3VudHMgdGhhdCBjb21wb25lbnQgZGlyZWN0bHkKYW5kIHByb3ZpZGVzIGB1c2VSYigpYCB0aHJvdWdoIGNvbnRleHQuCgpgYGB0c3gKaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7IFJCTGFiZWxCdXR0b24sIFJCU2xpZGVyLCBSQlN3aXRjaCB9IGZyb20gIkByYWluYm93LXJvYm90aWNzL3BsdWdpbi11aS9yZWFjdCI7CmltcG9ydCB7IHVzZVJiIH0gZnJvbSAiQHJhaW5ib3ctcm9ib3RpY3MvcGx1Z2luLXVpL3NkayI7CgpleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBcHAoKSB7CiAgY29uc3QgcmIgPSB1c2VSYigpOwogIGNvbnN0IFt3aWR0aCwgc2V0V2lkdGhdID0gdXNlU3RhdGUoMjApOwogIGNvbnN0IFtlbmFibGVkLCBzZXRFbmFibGVkXSA9IHVzZVN0YXRlKHRydWUpOwoKICByZXR1cm4gKAogICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZmxleC1jb2wgZ2FwLTQiPgogICAgICA8UkJTbGlkZXIKICAgICAgICB2YWx1ZT17W3dpZHRoXX0KICAgICAgICBtaW49ezB9CiAgICAgICAgbWF4PXsxMDB9CiAgICAgICAgb25WYWx1ZUNoYW5nZT17KHZhbHVlczogbnVtYmVyW10pID0+IHNldFdpZHRoKHZhbHVlc1swXSA/PyAwKX0KICAgICAgLz4KICAgICAgPFJCU3dpdGNoIGNoZWNrZWQ9e2VuYWJsZWR9IG9uQ2hlY2tlZENoYW5nZT17c2V0RW5hYmxlZH0gLz4KICAgICAgPFJCTGFiZWxCdXR0b24KICAgICAgICBkaXNhYmxlZD17IWVuYWJsZWR9CiAgICAgICAgb25DbGljaz17KCkgPT4gcmIuYWN0aW9uKCJncmlwIiwgeyB3aWR0aCB9KX0KICAgICAgPgogICAgICAgIEdyaXAKICAgICAgPC9SQkxhYmVsQnV0dG9uPgogICAgPC9kaXY+CiAgKTsKfQpgYGAKCi0tLQoKIyMgRGV2ZWxvcGluZyBkaXJlY3RseSBvbiB0aGUgcm9ib3QgUEMKCklmIHlvdSdyZSBydW5uaW5nIGBtdXNjYXQtcGsgZGV2YCAqKm9uIHRoZSByb2JvdCBQQyBpdHNlbGYqKiwgTXVzY2F0IGlzIGxpa2VseSBhbHJlYWR5CnJ1bm5pbmcgaXRzIG93biBTb2NrZXQuSU8gYnJpZGdlIG9uIHBvcnQgMTAwMDAuIEluIHRoYXQgY2FzZSB0aGUgQ0xJIGRldGVjdHMgdGhlIHBvcnQKY29uZmxpY3QgYW5kIGFza3M6CgpgYGAK4pqgIHBvcnQgMTAwMDAgaXMgYWxyZWFkeSBpbiB1c2Ug4oCUIGNhbid0IHN0YXJ0IFNvY2tldC5JTyBicmlkZ2UuCiAgUHJvY2VlZCB3aXRob3V0IFNvY2tldC5JTyBicmlkZ2U/IFt5L05dOgpgYGAKCkFuc3dlciAqKnkqKi4gWW91ciBwbHVnaW4gYmFja2VuZCB3aWxsIGNvbm5lY3QgdG8gdGhlIE11c2NhdCBicmlkZ2UgdGhhdCdzIGFscmVhZHkKcnVubmluZyBpbnN0ZWFkIG9mIHN0YXJ0aW5nIGEgbmV3IG9uZSDigJQgZXhhY3RseSB3aGF0IHlvdSB3YW50IHdoZW4gZGV2ZWxvcGluZyBvbiB0aGUKcm9ib3QuCgo+IElmIHlvdSBhbnN3ZXIgKipuKiogKG9yIGp1c3QgcHJlc3MgRW50ZXIpLCB0aGUgQ0xJIGV4aXRzIHNvIHlvdSBjYW4gZnJlZSB0aGUgcG9ydAo+IG1hbnVhbGx5IGFuZCByZXRyeS4KCi0tLQoKIyMgQmFja2VuZCBydW50aW1lcwoKYG1hbmlmZXN0Lmpzb25gIGNob29zZXMgb25lIGJhY2tlbmQgcnVudGltZS4gYG11c2NhdC1wayBkZXZgIHJ1bnMgYmFja2VuZCBjb2RlIGluCmEgRG9ja2VyIGNvbnRhaW5lciBtYXRjaGluZyB0aGUgcm9ib3QgZW52aXJvbm1lbnQuIEJhY2tlbmQgY29kZSBzaG91bGQgY29udGFpbgpwbHVnaW4gbG9naWMgb25seTsgaXQgc2hvdWxkIG5vdCBzdGFydCB0aGUgTXVzY2F0IGJyaWRnZSBvciBpdHMgb3duIGNvcHkgb2YgdGhlCnBsdWdpbiBnYXRld2F5LgoKIyMjIFdoaWNoIGJhY2tlbmQgcGF0dGVybj8gKGRlcGVuZHMgb24gdGhlIGNvbnRyaWJ1dGlvbiBwb2ludCkKCioqSG93IHlvdSBjb250cm9sIHRoZSByb2JvdCBkZXBlbmRzIG9uIHdoYXQgeW91ciBwbHVnaW4gY29udHJpYnV0ZXMqKiAoc2VlCmBtYW5pZmVzdC5qc29uYCDihpIgYGNvbnRyaWJ1dGVzW10ucG9pbnRgKS4gRG9uJ3QgbWl4IHRoZXNlIHVwOgoKfCBDb250cmlidXRpb24gcG9pbnQgfCBXaGF0IGl0IGlzIHwgQmFja2VuZCBwYXR0ZXJuIHwKfCAtLS0gfCAtLS0gfCAtLS0gfAp8IGBwcm9ncmFtLnBhbmVsYCAod2l0aCBgY29tbWFuZEluZm9gKSB8IERlZmluZXMgYSAqKmN1c3RvbSBjb21tYW5kKiogdGhlIHBsdWdpbiBhZGRzIHRvIHRoZSBQcm9ncmFtIHBhZ2UncyBydWxlLWJhc2VkIHNlcXVlbmNlIGJ1aWxkZXIuIFRoZSBvcGVyYXRvciBwbGFjZXMgaXQgaW50byB0aGUgcHJvZ3JhbSB0cmVlIGxpa2UgYW55IGJ1aWx0LWluIGNvbW1hbmQgKE1vdmUgSiwgUG9pbnQsIFdhaXQsIOKApik7IGl0IHJ1bnMgd2hlbiB0aGUgcHJvZ3JhbSByZWFjaGVzIHRoYXQgc3RlcC4gfCAqKmBQbHVnaW5Qcm9ncmFtQ29udGV4dGAqKiDigJQgaW50ZWdyYXRlZCB3aXRoIHRoZSBwcm9ncmFtJ3Mgc3RvcC9wYXVzZSBhbmQgdmFyaWFibGVzLiBTZWUgX1Byb2dyYW0gY29tbWFuZCBiYWNrZW5kXyBiZWxvdy4gfAp8IGB0b29sYmFyYCAvIGBsbmJgIC8gYG1vdmUucGFuZWxgIHwgQSBsaXZlIFVJIHBhbmVsL3BvcG92ZXIgdGhlIG9wZXJhdG9yIGludGVyYWN0cyB3aXRoIGRpcmVjdGx5IHwgQ2FsbCB0aGUgcm9ib3QgKipTREsgZGlyZWN0bHkqKiAoYFJCTWFuaXB1bGF0ZVNES2AsIGBSQkFtclNES2ApIGZyb20gYHB5L21haW4ucHlgLCBvciBgcmIuYWN0aW9uKC4uLilgIOKGkiB5b3VyIGJhY2tlbmQg4oaSIFNESy4gKipOb3QqKiBhIHByb2dyYW0gc3RlcCDigJQgdGhlcmUgaXMgbm8gc3RvcC9wYXVzZS92YXJpYWJsZSBjb250ZXh0LiB8CgpSdWxlIG9mIHRodW1iOiB1c2UgYFBsdWdpblByb2dyYW1Db250ZXh0YCAqKm9ubHkqKiBmb3IgYSBgcHJvZ3JhbS5wYW5lbGAgY29tbWFuZAp0aGF0IHJ1bnMgYXMgcGFydCBvZiBhIHByb2dyYW0uIFRvIG1vdmUgdGhlIHJvYm90IGxpdmUgZnJvbSBhIHRvb2xiYXIvbW92ZSBwYW5lbCwKdXNlIHRoZSBTREsg4oCUIGEgcHJvZ3JhbS1zdGVwIGNvbnRleHQgZG9lcyBub3QgYXBwbHkuCgojIyMgRnJvbnRlbmQtb25seSAoYG5vbmVgKQoKVXNlIHRoaXMgd2hlbiB0aGUgcGx1Z2luIG9ubHkgaGFzIFVJIGFuZCBjYWxscyBob3N0IHNlcnZpY2VzOgoKYGBganNvbgp7ICJydW50aW1lIjogeyAidHlwZSI6ICJub25lIiB9IH0KYGBgCgojIyMgUHl0aG9uCgpQeXRob24gcGx1Z2lucyB1c2UgYHB5L21haW4ucHlgIGFuZCBjYW4gY29tbXVuaWNhdGUgd2l0aCB0aGUgVUkgdGhyb3VnaApgcmFpbmJvdy5yYl9zZGsuUkJQbHVnaW5DYWxsYC4KCmBgYHB5dGhvbgppbXBvcnQgdGltZQpmcm9tIHJhaW5ib3cucmJfc2RrIGltcG9ydCBSQkFtclNESywgUkJNYW5pcHVsYXRlU0RLLCBSQlBsdWdpbkNhbGwKCnBsdWdpbiA9IFJCUGx1Z2luQ2FsbCgpCgoKcGx1Z2luLnB1Ymxpc2goInN0YXRlIiwgeyJyZWFkeSI6IFRydWV9KQoKCkBwbHVnaW4uc3Vic2NyaWJlKCJldmVudCIpCmRlZiBvbl91aV9ldmVudChwYXlsb2FkPU5vbmUpOgogICAgcHJpbnQocGF5bG9hZCkKCgpAcGx1Z2luLnNlcnZlKCJ0b29sL2VjaG8iKQpkZWYgZWNobyhwYXlsb2FkPU5vbmUpOgogICAgcmV0dXJuIHsiZWNobyI6IHBheWxvYWR9CgoKZGVmIGNhbGxfZnJvbnRlbmQoKToKICAgIHJlcyA9IHBsdWdpbi5jYWxsKCJ0b29sL3BpbmciLCBwYXlsb2FkPXsiaGVsbG8iOiAicGx1Z2luIn0pCiAgICBwcmludChyZXMpCgoKZGVmIG1vdmVfal9leGFtcGxlKCk6CiAgICBhbXIgPSBSQkFtclNESygpCiAgICBtYW5pcHVsYXRlID0gUkJNYW5pcHVsYXRlU0RLKCkKICAgIHJldHVybiBtYW5pcHVsYXRlLm1vdmUuY2FsbF9tb3ZlX2ooCiAgICAgICAgcm9ib3RfbW9kZWw9IkM1MDA5MjAiLAogICAgICAgIHRhcmdldD17InRhcl92YWx1ZXMiOiBbMCwgMCwgMCwgMCwgMCwgMF0sICJ0YXJfZnJhbWUiOiAwLCAidGFyX3VuaXQiOiAwfSwKICAgICkKCgppZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgd2hpbGUgVHJ1ZToKICAgICAgICB0aW1lLnNsZWVwKDEpCmBgYAoKIyMjIyBQcm9ncmFtIGNvbW1hbmQgYmFja2VuZCAoYHByb2dyYW0ucGFuZWxgKQoKQSBgcHJvZ3JhbS5wYW5lbGAgY29udHJpYnV0aW9uIGRlZmluZXMgYSAqKmN1c3RvbSBjb21tYW5kKiogeW91ciBwbHVnaW4gYWRkcyB0bwp0aGUgTXVzY2F0ICoqUHJvZ3JhbSBwYWdlKiosIHdoZXJlIHRoZSBvcGVyYXRvciBidWlsZHMgYSByb2JvdCBwcm9ncmFtIGFzIGEKcnVsZS1iYXNlZCBzZXF1ZW5jZSAoYSBwcm9ncmFtIHRyZWUpLiBZb3VyIGNvbW1hbmQgYXBwZWFycyBhbG9uZ3NpZGUgdGhlCmJ1aWx0LWlucyAoTW92ZSBKLCBQb2ludCwgV2FpdCwg4oCmKTsgdGhlIG9wZXJhdG9yIHBsYWNlcyBpdCBpbnRvIHRoZSB0cmVlLCBhbmQKZWFjaCB0aW1lIHRoZSBwcm9ncmFtIGV4ZWN1dGVzIHRoYXQgc3RlcCB0aGUgaG9zdCBjYWxscyB5b3VyIGJhY2tlbmQgdGhyb3VnaApgUGx1Z2luUHJvZ3JhbUNvbnRleHRgIOKAlCByZWNlaXZpbmcgdGhlIHN0ZXAgYXJncywgY2hlY2tpbmcgZm9yIHN0b3AvcGF1c2UsCnJlYWRpbmcvd3JpdGluZyBwcm9ncmFtIHZhcmlhYmxlcywgYW5kIHNpZ25hbGxpbmcgY29tcGxldGlvbi4gVGhpcyBwYXR0ZXJuIGlzCioqb25seSoqIGZvciBgcHJvZ3JhbS5wYW5lbGA7IGEgdG9vbGJhci9tb3ZlLXBhbmVsIHBsdWdpbiB1c2VzIHRoZSBTREsgZGlyZWN0bHkKaW5zdGVhZCAoc2VlIHRoZSB0YWJsZSBhYm92ZSkuCgpgYGBweXRob24KIiIiClBsdWdpbiBiYWNrZW5kIG1haW4ucHkgZXhhbXBsZSAocHJvZ3JhbS5wYW5lbCBjb21tYW5kKS4KCm1hbmlmZXN0Lmpzb246CiAgInJ1bnRpbWUiOiB7InR5cGUiOiAicHl0aG9uIiwgImVudHJ5IjogIm1haW4ucHkifSwKICAiY29udHJpYnV0ZXMiOiBbewogICAgInBvaW50IjogInByb2dyYW0ucGFuZWwiLAogICAgInVpIjogInByb2dyYW0iLAogICAgImxhYmVsIjogeyJlbiI6ICJNeSBQbHVnaW4gU3RlcCJ9LAogICAgImNvbW1hbmRJbmZvIjogewogICAgICAibmFtZSI6ICJNeSBQbHVnaW4gU3RlcCIsCiAgICAgICJpY29uIjogImFzc2V0cy9pY29uLnN2ZyIsCiAgICAgICJmdW5jTmFtZSI6ICJyYl9wcm9ncmFtX3Nkay5wbHVnaW5fZXhlY3V0ZSIsCiAgICAgICJhcmdzIjogeyJtZXNzYWdlIjogImhlbGxvIn0gICAjIHBsdWdpbi1hdXRob3ItZGVmaW5lZCBhcmdzCiAgICB9CiAgfV0KClRoZSBob3N0IGludm9rZXMgY29tbWFuZEluZm8uZnVuY05hbWUgKHJiX3Byb2dyYW1fc2RrLnBsdWdpbl9leGVjdXRlKSB3aXRoCmFyZ3MucGx1Z2luX2lkICsgeW91ciBhcmdzIHdoZW4gdGhlIHByb2dyYW0gcmVhY2hlcyB0aGlzIHN0ZXAuCiIiIgppbXBvcnQgYXN5bmNpbwpmcm9tIHJhaW5ib3cucmJfc2RrIGltcG9ydCBQbHVnaW5Qcm9ncmFtQ29udGV4dAoKY3R4ID0gUGx1Z2luUHJvZ3JhbUNvbnRleHQocGx1Z2luX2lkPSJteS1wbHVnaW4iKQoKCkBjdHgub25fZXhlY3V0ZQphc3luYyBkZWYgaGFuZGxlKGFyZ3M6IGRpY3QpIC0+IE5vbmU6CiAgICBtZXNzYWdlID0gYXJncy5nZXQoIm1lc3NhZ2UiLCAiIikKICAgIHByaW50KGYiW215LXBsdWdpbl0gZXhlY3V0ZSBjYWxsZWQ6IG1lc3NhZ2U9e21lc3NhZ2V9IiwgZmx1c2g9VHJ1ZSkKCiAgICAjIGNoZWNrIHN0b3AvcGF1c2UgZHVyaW5nIGxvbmctcnVubmluZyB3b3JrCiAgICBmb3IgXyBpbiByYW5nZSgxMCk6CiAgICAgICAgYXdhaXQgY3R4LmNoZWNrX3N0b3AoKQogICAgICAgIGF3YWl0IGFzeW5jaW8uc2xlZXAoMC4xKQoKICAgICMgcmVhZCBhIHByb2dyYW0gdmFyaWFibGUKICAgIGNvdW50ZXIgPSBhd2FpdCBjdHguZ2V0X3ZhcmlhYmxlKCJjb3VudGVyIikKICAgIHByaW50KGYiW215LXBsdWdpbl0gY291bnRlcj17Y291bnRlcn0iLCBmbHVzaD1UcnVlKQoKICAgICMgdXBkYXRlIGEgdmFyaWFibGUKICAgIGF3YWl0IGN0eC5zZXRfdmFyaWFibGUoInJlc3VsdCIsIGYiZG9uZToge21lc3NhZ2V9IikKCiAgICAjIGZpbmlzaCB0aGUgc3RlcAogICAgYXdhaXQgY3R4LmRvbmUoKQoKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICBhc3luY2lvLnJ1bihjdHguc3RhcnQoKSkKYGBgCgojIyMgQysrCgpDKysgcGx1Z2lucyB1c2UgYGNwcC9gIGFuZCBhcmUgYnVpbHQgd2l0aCBDTWFrZSBpbnNpZGUgRG9ja2VyLiBUaGUgY3VycmVudCBDKysKdGVtcGxhdGUgaXMgYSBidWlsZC9ydW4gc2tlbGV0b247IHdpcmUgaXQgdG8gdGhlIHBsdWdpbiBnYXRld2F5IHdoZW4gdGhlIEMrKyBTREsKaXMgYXZhaWxhYmxlLgoKYGBgY3BwCiNpbmNsdWRlIDxjaHJvbm8+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDx0aHJlYWQ+CgppbnQgbWFpbigpIHsKICBjb25zdCBjaGFyKiBwbHVnaW5faWQgPSBzdGQ6OmdldGVudigiUkJfUExVR0lOX0lEIik7CiAgc3RkOjpjb3V0IDw8ICJbX19QTFVHSU5fTkFNRV9fXSBiYWNrZW5kIHJlYWR5IgogICAgICAgICAgICA8PCAocGx1Z2luX2lkID8gc3RkOjpzdHJpbmcoIiAoaWQ9IikgKyBwbHVnaW5faWQgKyAiKSIgOiAiIikKICAgICAgICAgICAgPDwgc3RkOjplbmRsOwoKICB3aGlsZSAodHJ1ZSkgewogICAgc3RkOjp0aGlzX3RocmVhZDo6c2xlZXBfZm9yKHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDEpKTsKICB9CiAgcmV0dXJuIDA7Cn0KYGBgCgojIyMgUk9TMiAocmNscHkpCgpST1MyIFB5dGhvbiBwbHVnaW5zIHVzZSBgcm9zMl93cy9gIHdpdGggYHJ1bnRpbWUucm9zQ2xpZW50OiAicmNscHkiYC4gVGhlIG5vZGUKaXMgbGF1bmNoZWQgd2l0aCBgLS1yb3MtYXJncyAtciBfX25zOj0ve3NsdWd9YCBhdXRvbWF0aWNhbGx5IGJ5IGBkZXY6YmFja2AuCgpgYGBweXRob24KIyByb3MyX3dzL3NyYy9fX1BMVUdJTl9TTFVHX18vX19QTFVHSU5fU0xVR19fL25vZGUucHkKaW1wb3J0IHJjbHB5CmZyb20gcmNscHkubm9kZSBpbXBvcnQgTm9kZQpmcm9tIHJhaW5ib3cucmJfc2RrIGltcG9ydCBSQk1hbmlwdWxhdGVTREsKCnNkayA9IFJCTWFuaXB1bGF0ZVNESygpCgoKY2xhc3MgX19QTFVHSU5fQ0xBU1NfX05vZGUoTm9kZSk6CiAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgc3VwZXIoKS5fX2luaXRfXygiX19QTFVHSU5fU0xVR19fX25vZGUiKQogICAgICAgIHNlbGYuZ2V0X2xvZ2dlcigpLmluZm8oIl9fUExVR0lOX05BTUVfXyBub2RlIHN0YXJ0ZWQiKQogICAgICAgICMgdXNlIHNkayBhbG9uZ3NpZGUgUk9TMiBwdWJsaXNoZXJzL3N1YnNjcmliZXJzL3NlcnZpY2VzIGFzIG5lZWRlZApgYGAKCiMjIyBST1MyIChyY2xjcHApCgpST1MyIEMrKyBwbHVnaW5zIHVzZSBgcm9zMl93cy9gIHdpdGggYHJ1bnRpbWUucm9zQ2xpZW50OiAicmNsY3BwImAuCgpgYGBjcHAKI2luY2x1ZGUgInJjbGNwcC9yY2xjcHAuaHBwIgoKY2xhc3MgX19QTFVHSU5fQ0xBU1NfX05vZGUgOiBwdWJsaWMgcmNsY3BwOjpOb2RlIHsKcHVibGljOgogIF9fUExVR0lOX0NMQVNTX19Ob2RlKCkgOiBOb2RlKCJfX1BMVUdJTl9TTFVHX19fbm9kZSIpIHsKICAgIFJDTENQUF9JTkZPKHRoaXMtPmdldF9sb2dnZXIoKSwgIl9fUExVR0lOX05BTUVfXyBub2RlIHN0YXJ0ZWQiKTsKICB9Cn07CmBgYAoKLS0tCgojIyBtYW5pZmVzdC5qc29uCgpgYGBqc29uYwp7CiAgLy8gdW5pcXVlIHBsdWdpbiBJRCDigJQgcmV2ZXJzZS1kb21haW4gZm9ybWF0IHJlY29tbWVuZGVkCiAgImlkIjogImNvbS5leGFtcGxlLm15LXBsdWdpbiIsCiAgIm5hbWUiOiAiTXkgUGx1Z2luIiwKICAidmVyc2lvbiI6ICIxLjAuMCIsCgogIC8vIG1pbmltdW0gTXVzY2F0IHZlcnNpb24gcmVxdWlyZWQgdG8gbG9hZCB0aGlzIHBsdWdpbgogICJtaW5NdXNjYXRWZXJzaW9uIjogIjEuMC4wIiwKCiAgLy8gcGx1Z2luIGF1dGhvciAoZW1wdHkgc3RyaW5nIGlzIGZpbmUpCiAgImF1dGhvciI6ICJZb3VyIE5hbWUiLAoKICAvLyBkaXNwbGF5ZWQgaW4gdGhlIE11c2NhdCBwbHVnaW4gc3RvcmUgLyBpbmZvIHBhbmVsCiAgLy8gc3RyaW5nIG9yIHsgZW4gKHJlcXVpcmVkKSwga28sIGphLCB6aCwgdmksIHRoLCBlcyB9CiAgImRlc2NyaXB0aW9uIjogeyAiZW4iOiAiUGx1Z2luIGRlc2NyaXB0aW9uIiwgImtvIjogIu2UjOufrOq3uOyduCDshKTrqoUiIH0sCgogIC8vIFNWRyBzdHJpbmcgKHNpbmdsZSBmaWxlKSBvciBQTkcvSlBHIHNpemUgbWFwIChhbGwgdGhyZWUgc2l6ZXMgcmVxdWlyZWQpCiAgImljb25zIjogImFzc2V0cy9pY29uLnN2ZyIsCiAgLy8gImljb25zIjogeyAiMTYiOiAiYXNzZXRzL2ljb24tMTYucG5nIiwgIjQ4IjogImFzc2V0cy9pY29uLTQ4LnBuZyIsICIxMjgiOiAiYXNzZXRzL2ljb24tMTI4LnBuZyIgfSwKCiAgLy8gdGFyZ2V0TW9kZWxzIGFuZC9vciB0YXJnZXRDYXRlZ29yeXMg4oCUIGF0IGxlYXN0IG9uZSBpcyByZXF1aXJlZAogIC8vICJhbGwiID0gZXZlcnkgdGFyZ2V0LCBvciBsaXN0IHNwZWNpZmljIHZhbHVlcwogICJ0YXJnZXRNb2RlbHMiOiAiYWxsIiwKICAvLyAidGFyZ2V0TW9kZWxzIjogWyJDNTAwOTIwIiwgIkM1MDA5MzAiXSwKICAidGFyZ2V0Q2F0ZWdvcnlzIjogImFsbCIsCiAgLy8gInRhcmdldENhdGVnb3J5cyI6IFsibWFuaXB1bGF0ZSIsICJhbXIiLCAicmJ5MSIsICJ2aXNpb24iXSwKCiAgImNvbnRyaWJ1dGVzIjogWwogICAgLy8gcHJvZ3JhbS5wYW5lbCDigJQgZGVmaW5lcyBhIGN1c3RvbSBjb21tYW5kIGZvciB0aGUgUHJvZ3JhbSBwYWdlIHNlcXVlbmNlCiAgICAvLyAgIGJ1aWxkZXI7IHJ1bnMgdmlhIFBsdWdpblByb2dyYW1Db250ZXh0IHdoZW4gdGhlIHByb2dyYW0gcmVhY2hlcyBpdAogICAgewogICAgICAicG9pbnQiOiAicHJvZ3JhbS5wYW5lbCIsCiAgICAgICJpY29uIjogImFzc2V0cy9pY29uLnN2ZyIsCiAgICAgICJsYWJlbCI6IHsgImtvIjogIuuCtCDtlIzrn6zqt7jsnbgiLCAiZW4iOiAiTXkgUGx1Z2luIiB9LAogICAgICAidWkiOiAicHJvZ3JhbSIsICAgICAgICAgICAvLyBtdXN0IGJlIHVuaXF1ZSBhY3Jvc3MgYWxsIGNvbnRyaWJ1dGlvbnMKICAgICAgImNvbW1hbmRJbmZvIjogewogICAgICAgICJuYW1lIjogIk15IFBsdWdpbiIsCiAgICAgICAgImljb24iOiAiYXNzZXRzL2ljb24uc3ZnIiwKICAgICAgICAiZnVuY05hbWUiOiAicmJfcHJvZ3JhbV9zZGsucGx1Z2luX2V4ZWN1dGUiLAogICAgICAgICJhcmdzIjoge30KICAgICAgfQogICAgfSwKICAgIC8vIHRvb2xiYXIg4oCUIGFkZHMgYSBidXR0b24gdG8gdGhlIHRvcCB0b29sYmFyIChyZXF1aXJlZCkKICAgIHsKICAgICAgInBvaW50IjogInRvb2xiYXIiLAogICAgICAiaWNvbiI6ICJhc3NldHMvaWNvbi5zdmciLAogICAgICAibGFiZWwiOiB7ICJrbyI6ICLrgrQg7ZSM65+s6re47J24IiwgImVuIjogIk15IFBsdWdpbiIgfSwKICAgICAgInVpIjogImNvbnRlbnQiLCAgICAgICAgICAgLy8gbXVzdCBiZSB1bmlxdWUgYWNyb3NzIGFsbCBjb250cmlidXRpb25zCiAgICAgICJvcGVucyI6ICJwb3BvdmVyIiAgICAgICAgIC8vIHBvcG92ZXIgfCBwYW5lbCB8IHBhZ2UKICAgIH0sCiAgICAvLyBtb3ZlLnBhbmVsIOKAlCBhZGRzIGEgcGFuZWwgdG8gdGhlIE1vdmUgc2NyZWVuCiAgICB7CiAgICAgICJwb2ludCI6ICJtb3ZlLnBhbmVsIiwKICAgICAgImljb24iOiAiYXNzZXRzL2ljb24uc3ZnIiwKICAgICAgImxhYmVsIjogeyAia28iOiAi64K0IO2UjOufrOq3uOyduCIsICJlbiI6ICJNeSBQbHVnaW4iIH0sCiAgICAgICJ1aSI6ICJtb3ZlIiAgICAgICAgICAgICAgIC8vIG11c3QgYmUgdW5pcXVlIGFjcm9zcyBhbGwgY29udHJpYnV0aW9ucwogICAgfQogIF0sCgogIC8vIHJ1bnRpbWUg4oCUIG9uZSBvZjoKICAvLyAgIHsgInR5cGUiOiAibm9uZSIgfQogIC8vICAgeyAidHlwZSI6ICJweXRob24iLCAiZW50cnkiOiAibWFpbi5weSIgfQogIC8vICAgeyAidHlwZSI6ICJjcHAiLCAiZW50cnkiOiAiPGV4ZWN1dGFibGUgbmFtZT4iIH0KICAvLyAgIHsgInR5cGUiOiAicm9zMiIsICJyb3NDbGllbnQiOiAicmNscHkiIHwgInJjbGNwcCIsICJwYWNrYWdlIjogIi4uLiIsICJsYXVuY2giOiAiLi4uX25vZGUiIH0KICAicnVudGltZSI6IHsgInR5cGUiOiAicHl0aG9uIiwgImVudHJ5IjogIm1haW4ucHkiIH0sCgogIC8vIG9wdGlvbmFsOiBUQ1AgcG9ydHMgb3BlbmVkIGJ5IHRoaXMgcGx1Z2luIGJhY2tlbmQKICAvLyBvbmx5IG51bWJlcltdIGlzIGFsbG93ZWQ7IHJhbmdlcy9vYmplY3RzIGFyZSBub3QgYWNjZXB0ZWQKICAvLyBleHRlcm5hbCBwbHVnaW4gcG9ydHMgbXVzdCBiZSB3aXRoaW4gMjg2MDAtMjg5OTkKICAicG9ydHMiOiBbMjg2MDBdCn0KYGBgCgoqKkJhY2tlbmQgdHlwZXM6KioKCnwgdHlwZSB8IHNvdXJjZSBkaXIgfCBidWlsZCAvIHJ1biB8IGVudHJ5IHwKfC0tLXwtLS18LS0tfC0tLXwKfCBgcHl0aG9uYCB8IGBweS9gIHwgcGlwICsgcnVuIGluIERvY2tlciB8IGBtYWluLnB5YCB8CnwgYGNwcGAgfCBgY3BwL2AgfCBDTWFrZSBpbiBEb2NrZXIgfCBidWlsdCBleGVjdXRhYmxlIG5hbWUgfAp8IGByb3MyYCAocmNscHkpIHwgYHJvczJfd3MvYCB8IGNvbGNvbiAoYW1lbnRfcHl0aG9uKSBpbiBEb2NrZXIgfCDigJQgfAp8IGByb3MyYCAocmNsY3BwKSB8IGByb3MyX3dzL2AgfCBjb2xjb24gKGFtZW50X2NtYWtlKSBpbiBEb2NrZXIgfCDigJQgfAoKPiBFdmVyeSBiYWNrIGVuZCBydW5zIGluIGEgRG9ja2VyIGNvbnRhaW5lciBtYXRjaGluZyB0aGUgcm9ib3QgKFVidW50dSAyNC4wNCArIFB5dGhvbiAzLjEyKSwgc28gZGV2IGJlaGF2ZXMgbGlrZSBwcm9kdWN0aW9uIGFuZCBjb21waWxlZCBiaW5hcmllcyBhcmUgQUJJLWNvbXBhdGlibGUuICoqRG9ja2VyIGlzIHJlcXVpcmVkKiogZm9yIGFsbCBiYWNrZW5kIHR5cGVzIChvbmx5IGEgZnJvbnRlbmQtb25seSBgbm9uZWAgcGx1Z2luIHNraXBzIGl0KS4gTm8gbG9jYWwgUHl0aG9uL3Rvb2xjaGFpbiBzZXR1cCBpcyBuZWVkZWQuCgoqKkNvbnRyaWJ1dGlvbiBwb2ludHM6KioKCnwgcG9pbnQgfCBXaGVyZSBpdCBhcHBlYXJzIHwgQmFja2VuZCB8IGBjb21tYW5kSW5mb2AgfAp8LS0tfC0tLXwtLS18Oi0tLTp8CnwgYHRvb2xiYXJgIHwgVG9wIHRvb2xiYXIgYnV0dG9uIChtdXN0IGhhdmUgYXQgbGVhc3Qgb25lKSB8IFNESyAvIGByYi5hY3Rpb25gIHwg4oCUIHwKfCBgbG5iYCB8IExlZnQgbmF2aWdhdGlvbiBlbnRyeSB8IFNESyAvIGByYi5hY3Rpb25gIHwg4oCUIHwKfCBgbW92ZS5wYW5lbGAgfCBNb3ZlIHNjcmVlbiBwYW5lbCB8IFNESyAvIGByYi5hY3Rpb25gIHwg4oCUIHwKfCBgcHJvZ3JhbS5wYW5lbGAgfCBDdXN0b20gY29tbWFuZCBpbiB0aGUgUHJvZ3JhbSBwYWdlIHNlcXVlbmNlIGJ1aWxkZXIgfCBgUGx1Z2luUHJvZ3JhbUNvbnRleHRgIHwg4pyTIHwKCioqYGNvbW1hbmRJbmZvYCBmaWVsZHMqKiAoZm9yIGBwcm9ncmFtLnBhbmVsYCk6Cgp8IGZpZWxkIHwgdHlwZSB8IGRlc2NyaXB0aW9uIHwKfC0tLXwtLS18LS0tfAp8IGBuYW1lYCB8IGBzdHJpbmdgIHwgRGlzcGxheSBuYW1lIG9mIHRoZSBjb21tYW5kIGluIHRoZSBwcm9ncmFtIHRyZWUgfAp8IGBpY29uYCB8IGBzdHJpbmdgIHwgSWNvbiBwYXRoIHwKfCBgaWNvbkNsYXNzTmFtZWAgfCBgc3RyaW5nP2AgfCBPcHRpb25hbCBDU1MgY2xhc3MgZm9yIHRoZSBpY29uIHwKfCBgZnVuY05hbWVgIHwgYHN0cmluZz9gIHwgQmFja2VuZCBmdW5jdGlvbiBuYW1lIHRvIGNhbGwgfAp8IGBhcmdzYCB8IGBSZWNvcmQ8c3RyaW5nLCBhbnk+P2AgfCBEZWZhdWx0IGFyZ3VtZW50cyB8CnwgYGRpc2FibGVkYCB8IGBib29sZWFuP2AgfCBXaGV0aGVyIHRoZSBub2RlIGlzIGRpc2FibGVkIHwKfCBgYWxsb3dDaGlsZHJlbmAgfCBgc3RyaW5nW10/YCB8IEFsbG93ZWQgY2hpbGQgY29tbWFuZHMgfAp8IGBhbGxvd1BhcmVudHNgIHwgYHN0cmluZ1tdP2AgfCBBbGxvd2VkIHBhcmVudCBjb21tYW5kcyB8CnwgYG5vdEFsbG93Q2hpbGRyZW5gIHwgYHN0cmluZ1tdP2AgfCBEaXNhbGxvd2VkIGNoaWxkIGNvbW1hbmRzIHwKfCBgc3luY0dyb3VwSWRgIHwgYGJvb2xlYW4/YCB8IFN5bmMgZ3JvdXAgSUQgYWNyb3NzIGNoaWxkcmVuIHwKfCBgZGlzYWJsZUNvcHlgIHwgYGJvb2xlYW4/YCB8IFByZXZlbnQgY29weSB8CnwgYGRpc2FibGVEZWxldGVgIHwgYGJvb2xlYW4/YCB8IFByZXZlbnQgZGVsZXRlIHwKfCBgcmVxdWlyZUNoaWxkcmVuYCB8IGBib29sZWFuP2AgfCBXaGV0aGVyIGEgY2hpbGQgY29tbWFuZCBpcyByZXF1aXJlZCB8CnwgYHJlcXVpcmVQYXJlbnRgIHwgYGJvb2xlYW4/YCB8IFdoZXRoZXIgYSBwYXJlbnQgY29tbWFuZCBpcyByZXF1aXJlZCB8CnwgYGNoaWxkcmVuQ29tbWFuZGAgfCBgc3RyaW5nP2AgfCBEZWZhdWx0IGNvbW1hbmQgdHlwZSBmb3IgY2hpbGRyZW4gfAoKKipWYWxpZGF0aW9uIHJ1bGVzOioqCi0gYGlkYCwgYG5hbWVgLCBgdmVyc2lvbmAsIGBtaW5NdXNjYXRWZXJzaW9uYCDigJQgcmVxdWlyZWQgbm9uLWVtcHR5IHN0cmluZ3MKLSBgYXV0aG9yYCDigJQgcmVxdWlyZWQgbm9uLWVtcHR5IHN0cmluZwotIGBkZXNjcmlwdGlvbmAg4oCUIHJlcXVpcmVkIChgc3RyaW5nYCBvciBgeyBlbiAocmVxdWlyZWQpLCBrbz8sIGphPywgemg/LCB2aT8sIHRoPywgZXM/IH1gKQotIGBpY29uc2Ag4oCUIFNWRzogc2luZ2xlIHN0cmluZyBwYXRoIGVuZGluZyBpbiBgLnN2Z2A7IFBORy9KUEc6IG9iamVjdCB3aXRoIGAiMTYiYCwgYCI0OCJgLCBgIjEyOCJgIGFsbCBwcmVzZW50Ci0gYHRhcmdldE1vZGVsc2Ag4oCUIGAiYWxsImAgb3IgYSBub24tZW1wdHkgYXJyYXkgb2Ygcm9ib3QgbW9kZWwgSUQgc3RyaW5ncyAoYXQgbGVhc3Qgb25lIG9mIGB0YXJnZXRNb2RlbHNgIC8gYHRhcmdldENhdGVnb3J5c2AgcmVxdWlyZWQpCi0gYHRhcmdldENhdGVnb3J5c2Ag4oCUIGAiYWxsImAgb3IgYSBub24tZW1wdHkgYXJyYXkgb2YgYCJtYW5pcHVsYXRlIiB8ICJhbXIiIHwgInJieTEiIHwgInZpc2lvbiJgIChhdCBsZWFzdCBvbmUgb2YgYHRhcmdldE1vZGVsc2AgLyBgdGFyZ2V0Q2F0ZWdvcnlzYCByZXF1aXJlZCkKLSBgY29udHJpYnV0ZXNgIOKAlCByZXF1aXJlZCBhcnJheTsgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBgdG9vbGJhcmAgZW50cnkKLSBgdWlgIOKAlCBlYWNoIGNvbnRyaWJ1dGlvbiBtdXN0IGhhdmUgYSB1bmlxdWUgdmFsdWUKLSBgY29tbWFuZEluZm9gIOKAlCByZXF1aXJlZCB3aGVuIGBwb2ludGAgaXMgYCJwcm9ncmFtLnBhbmVsImAKLSBgcG9ydHNgIOKAlCBvcHRpb25hbCBgbnVtYmVyW11gOyBldmVyeSBwb3J0IG11c3QgYmUgd2l0aGluIGAyODYwMC0yODk5OWAKICBhbmQgbXVzdCBub3QgYmUgYSByZXNlcnZlZCByb2JvdC9pbmR1c3RyaWFsL2ludGVybmFsIHBvcnQKCmBtdXNjYXQtcGsgYnVpbGRgIHRocm93cyBvbiBhbnkgdmFsaWRhdGlvbiBlcnJvci4gYG11c2NhdC1wayBkZXZgIHByaW50cyB3YXJuaW5ncy4KCioqQmFja2VuZCBwb3J0IHJ1bGVzOioqCi0gRGVjbGFyZSBhIHBvcnQgb25seSBpZiB5b3VyIGJhY2tlbmQgb3BlbnMgYSBUQ1Agc2VydmVyL2xpc3RlbmVyLgotICoqRXZlcnkgbGlzdGVuaW5nIFRDUCBwb3J0IG11c3QgYmUgZGVjbGFyZWQuKiogYG11c2NhdC1wayBkZXZgIGFuZAogIGBtdXNjYXQtcGsgZGV2OmJhY2tgIHdhdGNoIHRoZSBiYWNrZW5kIGFuZCBzdG9wIGl0IHRoZSBtb21lbnQgaXQgb3BlbnMgYSBwb3J0CiAgdGhhdCBpcyBub3QgaW4gYHBvcnRzYC4gQSBwb3J0IG91dHNpZGUgYDI4NjAwLTI4OTk5YCBjYW4ndCBiZSBkZWNsYXJlZCwgc28gaXQKICBtdXN0IG5vdCBiZSBvcGVuZWQgZWl0aGVyIOKAlCBwaWNraW5nIGUuZy4gYDU1MDBgIGlzIG5vdCBhIHdheSBhcm91bmQgdGhlIHJ1bGUuCiAgSXQgd291bGQgZXNjYXBlIHRoaXMgY2hlY2sgKmFuZCogdGhlIHJvYm90J3MgaW5zdGFsbC10aW1lIGNvbmZsaWN0IGNoZWNrLCBhbmQKICBvbmx5IGNvbGxpZGUgb25jZSBpdCdzIHJ1bm5pbmcgb24gYSByb2JvdC4KLSBSZXNlcnZlZCBwb3J0cyBpbmNsdWRlIGA1MDJgLCBgMjIyMmAsIGA0ODQwYCwgYDUxNzAtNTE3OWAsIGA4MDAwLTg5OTlgLAogIGAxMDAwMGAsIGAzMDAwNGAsIGAzNDk2NGAsIGA0NDgxOGAsIGA1MDAwMC01MDAwNWAsIGFuZCBgNTAwNTFgLgotIFRoZSByb2JvdCByZWplY3RzIGluc3RhbGxhdGlvbiAoSFRUUCA0MDkpIGlmIGEgZGVjbGFyZWQgcG9ydCBpcyByZXNlcnZlZCwKICBvdXQgb2YgcmFuZ2UsIG9yIGFscmVhZHkgY2xhaW1lZCBieSBhbm90aGVyIGVuYWJsZWQgcGx1Z2luLgoKKipSZWFjaGluZyB5b3VyIGJhY2tlbmQncyBwb3J0cyBkdXJpbmcgZGV2ZWxvcG1lbnQ6KioKLSBEZWNsYXJlZCBwb3J0cyBhcmUgcHVibGlzaGVkIHRvIGAxMjcuMC4wLjFgIG9uIHlvdXIgbWFjaGluZSwgc28KICBgY3VybCBodHRwOi8vMTI3LjAuMC4xOjI4NjAwYCB3b3JrcyBmcm9tIHRoZSBob3N0IG9uIG1hY09TLCBXaW5kb3dzLCBhbmQgTGludXguCi0gT24gbmF0aXZlIExpbnV4IHRoZSBkZXYgY29udGFpbmVyIHVzZXMgaG9zdCBuZXR3b3JraW5nLCBzbyB0aGUgcG9ydHMgYXJlIG9uCiAgdGhlIGhvc3QgYWxyZWFkeS4KLSBJZiBhIGRlY2xhcmVkIHBvcnQgaXMgYWxyZWFkeSB0YWtlbiBvbiB5b3VyIG1hY2hpbmUsIGBtdXNjYXQtcGsgZGV2YCB3YXJucyBhbmQKICBza2lwcyBwdWJsaXNoaW5nIHRoYXQgb25lIOKAlCB0aGUgYmFja2VuZCBzdGlsbCBsaXN0ZW5zIGluc2lkZSB0aGUgY29udGFpbmVyLgoKLS0tCgojIyBMb2NhbGl6ZWQgZG9jdW1lbnRhdGlvbgoKWW91IGNhbiBzaGlwIHBlci1sYW5ndWFnZSBSRUFETUUgZmlsZXMgYWxvbmdzaWRlIHRoZSBtYWluIGBSRUFETUUubWRgLiBQbGFjZSB0aGVtIGluIHRoZSBwcm9qZWN0IHJvb3Q6CgpgYGAKUkVBRE1FLm1kICAgICAgICAjIGRlZmF1bHQgLyBFbmdsaXNoIGZhbGxiYWNrClJFQURNRS5rby5tZCAgICAgIyBLb3JlYW4KUkVBRE1FLmVuLm1kICAgICAjIGV4cGxpY2l0IEVuZ2xpc2ggKG9wdGlvbmFsKQpSRUFETUUuamEubWQgICAgICMgSmFwYW5lc2UKYGBgCgpBbGwgYFJFQURNRSoubWRgIGZpbGVzIGZvdW5kIGF0IHRoZSBwcm9qZWN0IHJvb3QgYXJlIGF1dG9tYXRpY2FsbHkgY29waWVkIHRvIGBkaXN0L2Agb24KYG11c2NhdC1wayBidWlsZGAuIE11c2NhdCBkaXNwbGF5cyB0aGUgZmlsZSBtYXRjaGluZyB0aGUgdXNlcidzIGxvY2FsZSwKZmFsbGluZyBiYWNrIHRvIGBSRUFETUUubWRgIGlmIG5vbmUgbWF0Y2hlcy4KCi0tLQoKIyMgSW5zdGFsbGluZyBQeXRob24gZGVwZW5kZW5jaWVzCgpBZGQgYW55IHBhY2thZ2Ugd2l0aCBhbiBvcHRpb25hbCB2ZXJzaW9uIHBpbiB0byBgcmVxdWlyZW1lbnRzLnR4dGA6CgpgYGAKcmFpbmJvdy1yYi1zZGsKcmFpbmJvdy1yYi1mbGF0LWJ1ZmZlcnMKbnVtcHk9PTEuMjYuNApvcGVuY3YtcHl0aG9uCmBgYAoKUnVuIGBtdXNjYXQtcGsgZGV2YCBvciBgbXVzY2F0LXBrIGRldjpiYWNrYCDigJQgZGVwZW5kZW5jaWVzIGFyZSBpbnN0YWxsZWQgYXV0b21hdGljYWxseQppbnNpZGUgdGhlIGRldiBjb250YWluZXIgKGBwaXAgaW5zdGFsbCAtciByZXF1aXJlbWVudHMudHh0YCkgb24gZXZlcnkgc3RhcnR1cC4gTm8KbG9jYWwgUHl0aG9uIGlzIHJlcXVpcmVkIGZvciB0aGlzLgoKYG11c2NhdC1wayBkZXY6YmFja2AgYWxzbyBiZXN0LWVmZm9ydCBjcmVhdGVzL3JlZnJlc2hlcyBhIGxvY2FsIGAudmVudmAgaW4gdGhlCmJhY2tncm91bmQgKHZpYSBgdXZgIGlmIGF2YWlsYWJsZSwgZWxzZSB5b3VyIHN5c3RlbSBQeXRob24pIHdpdGggdGhlIHNhbWUgZGVwcyDigJQKcHVyZWx5IHNvIHlvdXIgZWRpdG9yIChweWxpbnQsIHB5cmlnaHQsIG15cHksIC4uLikgY2FuIHJlc29sdmUgaW1wb3J0cyBhbmQgbGludApjb3JyZWN0bHkuIEl0J3Mgbm90IHVzZWQgdG8gcnVuIHRoZSBiYWNrZW5kOyBEb2NrZXIgaXMgdGhlIGFjdHVhbCBleGVjdXRpb24KZW52aXJvbm1lbnQsIHNvIHRoaXMgc3RlcCBpcyBzaWxlbnRseSBza2lwcGVkIGlmIG5vIGxvY2FsIFB5dGhvbiB0b29sY2hhaW4gaXMKYXZhaWxhYmxlLiBQb2ludCB5b3VyIGVkaXRvcidzIFB5dGhvbiBpbnRlcnByZXRlciBhdCBgLnZlbnZgLgoKYG11c2NhdC1wayBzZGsgdXBkYXRlYCBhbHNvIHJlZnJlc2hlcyBgLnZlbnZgIGluIHBsYWNlIGlmIG9uZSBhbHJlYWR5IGV4aXN0cywgc28KeW91ciBlZGl0b3IgcGlja3MgdXAgdGhlIG5ldyBgcmFpbmJvdy1yYi1zZGtgIHZlcnNpb24gaW1tZWRpYXRlbHkuCgo+IGBtdXNjYXQtcGsgYnVpbGRgIG9ubHkgKipwaW5zKiogdmVyc2lvbnMgaW4gYHJlcXVpcmVtZW50cy50eHRgIOKAlCBpdCBkb2VzIG5vdCBydW4gYHBpcCBpbnN0YWxsYCAodGhlIHJvYm90IGluc3RhbGxzIHRoZW0gYXQgbG9hZCB0aW1lKS4KCi0tLQoKIyMgU3dpdGNoaW5nIGJhY2tlbmQgdHlwZQoKYGBgYmFzaAptdXNjYXQtcGsgdHlwZSBjaGFuZ2UgICAgICAgICAgICAgICAgICMgaW50ZXJhY3RpdmUKbXVzY2F0LXBrIHR5cGUgY2hhbmdlIC0tdG8gY3BwICAgICAgICAjIOKGkiBDKysKbXVzY2F0LXBrIHR5cGUgY2hhbmdlIC0tdG8gcm9zMiAgICAgICAjIOKGkiBST1MyIChyY2xweSAvIFB5dGhvbikKbXVzY2F0LXBrIHR5cGUgY2hhbmdlIC0tdG8gcm9zMi1jcHAgICAjIOKGkiBST1MyIChyY2xjcHAgLyBDKyspCm11c2NhdC1wayB0eXBlIGNoYW5nZSAtLXRvIHB5dGhvbiAgICAgIyDihpIgUHl0aG9uCmBgYAoKPiBFeGlzdGluZyBiYWNrZW5kIGRpcnMgKGByb3MyX3dzL2AsIGBjcHAvYCkgYXJlIG5vdCBkZWxldGVkIHdoZW4gc3dpdGNoaW5nIGF3YXkuIFJlbW92ZSB0aGVtIG1hbnVhbGx5IGlmIG5vIGxvbmdlciBuZWVkZWQuCgotLS0KCiMjIEFJIGNvZGluZyBhc3Npc3RhbnRzIChNQ1ApCgpJZiB5b3UgYnVpbGQgeW91ciBwbHVnaW4gd2l0aCBhbiBBSSBhc3Npc3RhbnQgKENsYXVkZSBDb2RlLCBDb2RleCwg4oCmKSwgZ2l2ZSBpdApncm91bmRlZCBrbm93bGVkZ2Ugb2YgdGhlIE11c2NhdCBVSSBjb21wb25lbnRzLCBkZXNpZ24gdG9rZW5zLCBhbmQgU0RLIGluc3RlYWQgb2YKbGV0dGluZyBpdCBndWVzcy4gYG11c2NhdC1wayBtY3BgIGlzIGFuIE1DUCBzZXJ2ZXIgZXhwb3Npbmc6CgotIGBsaXN0X2NvbXBvbmVudHNgIC8gYGdldF9jb21wb25lbnRfcHJvcHNgIC8gYGdldF9jb21wb25lbnRfZXhhbXBsZWAg4oCUIGV2ZXJ5CiAgYEByYWluYm93LXJvYm90aWNzL3BsdWdpbi11aS9yZWFjdGAgY29tcG9uZW50IHdpdGggaXRzIHJlYWwgcHJvcHMgYW5kIGEgd29ya2luZwogIFN0b3J5Ym9vayBleGFtcGxlLgotIGBsaXN0X2Rlc2lnbl90b2tlbnNgIC8gYHNlYXJjaF9kZXNpZ25fdG9rZW5zYCDigJQgdGhlIFRhaWx3aW5kIGNsYXNzZXMgdG8gdXNlCiAgKGBiZy1iZy0qYCwgYHRleHQtZmctKmAsIGB0eXBvLSpgLCDigKYpIHNvIHlvdXIgVUkgbWF0Y2hlcyB0aGUgaG9zdCB0aGVtZS4KLSBgc2VhcmNoX3JiX3Nka2Ag4oCUIGhvdyB0byB1c2UgYHVzZVJiKClgLCBgcmIuKmAsIGB1c2VSYkZvcm1EYXRhYC9gdXNlUmJTYXZlYCwgYW5kCiAgdGhlIGJhY2tlbmQgcnVudGltZXMuCi0gYGxpc3RfcmJfc2RrYCAvIGBnZXRfcmJfc2RrX2FwaWAg4oCUIHRoZSBpbnN0YWxsZWQgYHJhaW5ib3ctcmItc2RrYCAoUHl0aG9uCiAgYmFja2VuZCkgY2xhc3NlcyBhbmQgc2lnbmF0dXJlcy4KCioqQnJvd3NlIHRoZSBjb21wb25lbnRzIGxpdmUqKiB3aXRoIGBtdXNjYXQtcGsgc3Rvcnlib29rYC4KCiMjIyBSZWdpc3RlciB0aGUgc2VydmVyCgoqKkNsYXVkZSBDb2RlKiog4oCUIGEgYC5tY3AuanNvbmAgaXMgYWxyZWFkeSBzY2FmZm9sZGVkIGF0IHlvdXIgcGx1Z2luIHJvb3QsIHNvCml0IHdvcmtzIG91dCBvZiB0aGUgYm94OgoKYGBganNvbgp7CiAgIm1jcFNlcnZlcnMiOiB7CiAgICAibXVzY2F0IjogewogICAgICAiY29tbWFuZCI6ICJtdXNjYXQtcGsiLAogICAgICAiYXJncyI6IFsibWNwIl0KICAgIH0KICB9Cn0KYGBgCgoqKkNvZGV4Kiog4oCUIGFkZCB0byBgfi8uY29kZXgvY29uZmlnLnRvbWxgOgoKYGBgdG9tbApbbWNwX3NlcnZlcnMubXVzY2F0XQpjb21tYW5kID0gIm11c2NhdC1wayIKYXJncyA9IFsibWNwIl0KYGBgCgpBbnkgb3RoZXIgTUNQIGNsaWVudCB3b3JrcyB0b28g4oCUIGl0J3MgYSBzdGFuZGFyZCBzdGRpbyBNQ1Agc2VydmVyIHN0YXJ0ZWQgd2l0aApgbXVzY2F0LXBrIG1jcGAuIElmIGBtdXNjYXQtcGtgIGlzbid0IG9uIHRoZSBjbGllbnQncyBQQVRILCB1c2UgaXRzIGFic29sdXRlIHBhdGgKKGB3aGljaCBtdXNjYXQtcGtgKSBhcyBgY29tbWFuZGAuCgotLS0KCiMjIFNoaXBwaW5nCgpgYGBiYXNoCm11c2NhdC1wayBidWlsZCAgICAgICAgICAgICMgYnVpbGQgKyBaSVAKbXVzY2F0LXBrIGJ1aWxkIC0tbm8temlwICAgIyBidWlsZCBvbmx5LCBubyBaSVAKYGBgCgotIEJ1aWxkcyBgdWkvY29udGVudC50c3hgIOKGkiBgZGlzdC9jb250ZW50LmpzYCAobWluaWZpZWQpCi0gUGlucyBgcmVxdWlyZW1lbnRzLnR4dGAgdG8gbGF0ZXN0IHZlcnNpb25zIChzdGFibGUtb25seSBvbiBgbWFpbmAgYnJhbmNoKQotIENvcGllcyBgYXNzZXRzL2AsIGBtYW5pZmVzdC5qc29uYCwgYFJFQURNRSoubWRgLCBgcHkvYCwgYW5kIGByZXF1aXJlbWVudHMudHh0YCBpbnRvIGBkaXN0L2AKLSBST1MyOiBydW5zIGBjb2xjb24gYnVpbGRgIGluc2lkZSB0aGUgSmF6enkgY29udGFpbmVyOyBpbmNsdWRlcyBgcm9zMl93cy9pbnN0YWxsL2AKLSBPdXRwdXQ6IGBfX1BMVUdJTl9ESVJfXy17dmVyc2lvbn0uemlwYAoKWklQIGxheW91dDoKCmBgYApfX1BMVUdJTl9ESVJfXy0xLjAuMC56aXAK4pSc4pSAIGRpc3QvCuKUgiAgIOKUnOKUgCBjb250ZW50LmpzICAgICAgICAjIGJ1aWx0IFVJCuKUgiAgIOKUnOKUgCBtYW5pZmVzdC5qc29uCuKUgiAgIOKUnOKUgCBhc3NldHMvCuKUgiAgIOKUnOKUgCBSRUFETUUubWQK4pSCICAg4pSc4pSAIFJFQURNRS5rby5tZCAgICAgICMgaWYgcHJlc2VudArilIIgICDilJzilIAgbWFpbi5weSAgICAgICAgICAgIyBmcm9tIHB5LwrilIIgICDilJTilIAgcmVxdWlyZW1lbnRzLnR4dCAgIyBwaW5uZWQK4pSU4pSAIHJvczJfd3MvaW5zdGFsbC8gICAgICAjIFJPUzIgb25seQpgYGAKCi0tLQoKIyMgQWxsIGNvbW1hbmRzCgpgYGBiYXNoCm11c2NhdC1wayBkZXYgICAgICAgICMgVUkgKyBiYWNrZW5kCm11c2NhdC1wayBkZXY6dWkgICAgICMgVUkgcHJldmlldyBvbmx5IChwcmV2aWV3LWhvc3QpCm11c2NhdC1wayBkZXY6YmFjayAgICMgYmFja2VuZCBvbmx5IChQeXRob246IHdhdGNoZmlsZXMgLyBST1MyOiBEb2NrZXIpCm11c2NhdC1wayBidWlsZCAgICAgICMgYnVpbGQg4oaSIGRpc3QvICsgZGlzdHJpYnV0YWJsZSBaSVAgKC0tbm8temlwIHRvIHNraXApCm11c2NhdC1wayBzdG9yeWJvb2sgICMgYnJvd3NlIHRoZSByYi1jb21wb25lbnRzIFVJIGxpYnJhcnkgaW4gYSBicm93c2VyCm11c2NhdC1wayBtY3AgICAgICAgICMgTUNQIHNlcnZlciBmb3IgQUkgYXNzaXN0YW50cyAoY29tcG9uZW50cy90b2tlbnMvU0RLIGRvY3MpCmBgYAoKYGBgYmFzaAptdXNjYXQtcGsgdHlwZSBjaGFuZ2UgICAgIyBzd2l0Y2ggYmFja2VuZCB0eXBlCm11c2NhdC1wayBzZGsgbGlzdCAgICAgICAjIHNob3cgY3VycmVudCBQeXRob24gU0RLIHZlcnNpb24KbXVzY2F0LXBrIHNkayB1cGRhdGUgICAgICMgdXBkYXRlIFB5dGhvbiBTREsgdG8gbGF0ZXN0Cm11c2NhdC1wayB1cGRhdGUgICAgICAgICAjIHVwZGF0ZSBtdXNjYXQtcGx1Z2luLWtpdCBpdHNlbGYKbXVzY2F0LXBrIHVuaW5zdGFsbCAgICAgICMgcmVtb3ZlIG11c2NhdC1wayBpdHNlbGYKYGBgCg==","common/assets/icon.svg":"PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImJnIiB4MT0iMzYiIHkxPSIyOCIgeDI9IjIyMCIgeTI9IjIyOCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjOEI1Q0Y2Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzVCMjFCNiIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iZ3JhcGUiIHgxPSI5MiIgeTE9Ijc0IiB4Mj0iMTY4IiB5Mj0iMTc4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNEOEI0RkUiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQTg1NUY3Ii8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KCiAgPHJlY3QgeD0iMTYiIHk9IjE2IiB3aWR0aD0iMjI0IiBoZWlnaHQ9IjIyNCIgcng9IjUyIiBmaWxsPSJ1cmwoI2JnKSIvPgoKICA8IS0tIHBsdWdpbiBicmFja2V0cyAtLT4KICA8cGF0aCBkPSJNNzIgODRINTZDNDcuMTYzNCA4NCA0MCA5MS4xNjM0IDQwIDEwMFYxMTYiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik0xODQgODRIMjAwQzIwOC44MzcgODQgMjE2IDkxLjE2MzQgMjE2IDEwMFYxMTYiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik03MiAxNzJINTZDNDcuMTYzNCAxNzIgNDAgMTY0LjgzNyA0MCAxNTZWMTQwIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8cGF0aCBkPSJNMTg0IDE3MkgyMDBDMjA4LjgzNyAxNzIgMjE2IDE2NC44MzcgMjE2IDE1NlYxNDAiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgoKICA8IS0tIGdyYXBlIHN0ZW0gKyBsZWFmIC0tPgogIDxwYXRoIGQ9Ik0xMjggNzNDMTI4IDU5IDEzNyA0OCAxNTEgNDQiIHN0cm9rZT0iI0YzRThGRiIgc3Ryb2tlLXdpZHRoPSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgPHBhdGggZD0iTTE0MiA1MUMxNTEgMzkgMTY5IDM5IDE3OSA1MEMxNjUgNjAgMTUxIDYyIDE0MiA1MVoiIGZpbGw9IiNDNEI1RkQiLz4KCiAgPCEtLSBtdXNjYXQgZ3JhcGUgY2x1c3RlciAtLT4KICA8Y2lyY2xlIGN4PSIxMDYiIGN5PSI5MSIgcj0iMTgiIGZpbGw9InVybCgjZ3JhcGUpIi8+CiAgPGNpcmNsZSBjeD0iMTMyIiBjeT0iODgiIHI9IjE4IiBmaWxsPSJ1cmwoI2dyYXBlKSIvPgogIDxjaXJjbGUgY3g9IjE1OCIgY3k9IjkxIiByPSIxOCIgZmlsbD0idXJsKCNncmFwZSkiLz4KICA8Y2lyY2xlIGN4PSI5NCIgY3k9IjExOSIgcj0iMTgiIGZpbGw9InVybCgjZ3JhcGUpIi8+CiAgPGNpcmNsZSBjeD0iMTIwIiBjeT0iMTE2IiByPSIxOCIgZmlsbD0idXJsKCNncmFwZSkiLz4KICA8Y2lyY2xlIGN4PSIxNDYiIGN5PSIxMTYiIHI9IjE4IiBmaWxsPSJ1cmwoI2dyYXBlKSIvPgogIDxjaXJjbGUgY3g9IjE3MiIgY3k9IjExOSIgcj0iMTgiIGZpbGw9InVybCgjZ3JhcGUpIi8+CiAgPGNpcmNsZSBjeD0iMTA3IiBjeT0iMTQ1IiByPSIxOCIgZmlsbD0idXJsKCNncmFwZSkiLz4KICA8Y2lyY2xlIGN4PSIxMzMiIGN5PSIxNDQiIHI9IjE4IiBmaWxsPSJ1cmwoI2dyYXBlKSIvPgogIDxjaXJjbGUgY3g9IjE1OSIgY3k9IjE0NSIgcj0iMTgiIGZpbGw9InVybCgjZ3JhcGUpIi8+CiAgPGNpcmNsZSBjeD0iMTIwIiBjeT0iMTcwIiByPSIxOCIgZmlsbD0idXJsKCNncmFwZSkiLz4KICA8Y2lyY2xlIGN4PSIxNDYiIGN5PSIxNzAiIHI9IjE4IiBmaWxsPSJ1cmwoI2dyYXBlKSIvPgogIDxjaXJjbGUgY3g9IjEzMyIgY3k9IjE5MyIgcj0iMTgiIGZpbGw9InVybCgjZ3JhcGUpIi8+CgogIDwhLS0gY2VudGVyIHBsdWdpbiBnbHlwaCAtLT4KICA8cGF0aCBkPSJNMTIyIDExOVYxMDlDMTIyIDEwMy40NzcgMTI2LjQ3NyA5OSAxMzIgOTlIMTM2QzE0MS41MjMgOTkgMTQ2IDEwMy40NzcgMTQ2IDEwOVYxMTkiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CiAgPHJlY3QgeD0iMTE2IiB5PSIxMTgiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNCIgcng9IjEwIiBmaWxsPSJ3aGl0ZSIvPgogIDxwYXRoIGQ9Ik0xMjcgMTUyVjE2MyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSI4IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8cGF0aCBkPSJNMTQxIDE1MlYxNjMiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=","common/manifest.json":"ewogICJpZCI6ICJfX1BMVUdJTl9JRF9fIiwKICAibmFtZSI6ICJfX1BMVUdJTl9OQU1FX18iLAogICJ2ZXJzaW9uIjogIjEuMC4wIiwKICAibWluTXVzY2F0VmVyc2lvbiI6ICIxLjAuMCIsCiAgImF1dGhvciI6ICJfX1BMVUdJTl9BVVRIT1JfXyIsCiAgImVtYWlsIjogIl9fUExVR0lOX0VNQUlMX18iLAogICJkZXNjcmlwdGlvbiI6IHsKICAgICJrbyI6ICIiLAogICAgImVuIjogIiIKICB9LAogICJpY29ucyI6ICJhc3NldHMvaWNvbi5zdmciLAogICJ0YXJnZXRNb2RlbHMiOiAiYWxsIiwKICAidGFyZ2V0Q2F0ZWdvcnlzIjogImFsbCIsCiAgImNvbnRyaWJ1dGVzIjogWwogICAgewogICAgICAicG9pbnQiOiAidG9vbGJhciIsCiAgICAgICJpY29uIjogImFzc2V0cy9pY29uLnN2ZyIsCiAgICAgICJsYWJlbCI6IHsgImtvIjogIl9fUExVR0lOX05BTUVfXyIsICJlbiI6ICJfX1BMVUdJTl9OQU1FX18iIH0sCiAgICAgICJ1aSI6ICJjb250ZW50IiwKICAgICAgIm9wZW5zIjogInBvcG92ZXIiCiAgICB9CiAgXSwKICAidmFyaWFibGVzIjogW10sCiAgInJ1bnRpbWUiOiB7ICJ0eXBlIjogIl9fUlVOVElNRV9UWVBFX18iLCAiZW50cnkiOiAibWFpbi5weSIgfQp9Cg==","common/package.json":"ewogICJuYW1lIjogIl9fUExVR0lOX0lEX18iLAogICJ2ZXJzaW9uIjogIjEuMC4wIiwKICAicHJpdmF0ZSI6IHRydWUsCiAgInR5cGUiOiAibW9kdWxlIiwKICAiZGVwZW5kZW5jaWVzIjogewogICAgIkByYWluYm93LXJvYm90aWNzL3BsdWdpbi11aSI6ICJfX1JCX1ZFUlNJT05fXyIKICB9LAogICJkZXZEZXBlbmRlbmNpZXMiOiB7CiAgICAiQHRhaWx3aW5kY3NzL3ZpdGUiOiAiXjQuMS4wIiwKICAgICJAcmFpbmJvdy1yb2JvdGljcy9tdXNjYXQtcGx1Z2luLWtpdCI6ICJfX1JCX1ZFUlNJT05fXyIsCiAgICAiQHJhaW5ib3ctcm9ib3RpY3MvcHJldmlldy1ob3N0IjogIl9fUkJfVkVSU0lPTl9fIiwKICAgICJAdHlwZXMvcmVhY3QiOiAiXjE5LjAuMTAiLAogICAgIkB0eXBlcy9yZWFjdC1kb20iOiAiXjE5LjAuNCIsCiAgICAiQHZpdGVqcy9wbHVnaW4tcmVhY3QiOiAiXjQuMC4wIiwKICAgICJyZWFjdCI6ICJeMTkuMC4wIiwKICAgICJyZWFjdC1kb20iOiAiXjE5LjAuMCIsCiAgICAidGFpbHdpbmRjc3MiOiAiXjQuMS4wIiwKICAgICJ0eXBlc2NyaXB0IjogIl41LjguMCIsCiAgICAidml0ZSI6ICJeNi4wLjAiCiAgfQp9Cg==","common/py/main.py":"IiIiCk11c2NhdCBwbHVnaW4gYmFja2VuZCDigJQgX19QTFVHSU5fTkFNRV9fCgpPbi1yb2JvdCAoZGVmYXVsdCk6CiAgbXVzY2F0LXBrIGRldjpiYWNrCiAgcHl0aG9uIG1haW4ucHkKClJlbW90ZSBkZXYgKGZyb20geW91ciBsYXB0b3ApOgogIFNldCBlbnYgdmFycyBiZWZvcmUgcnVubmluZzoKICAgIE1VU0NBVF9ST0JPVF9IT1NUPTE5Mi4xNjguMS4xMDAKICAgIE1VU0NBVF9ST0JPVF9UT0tFTj08c2VydmljZSB0b2tlbj4KICBUaGVuOiBtdXNjYXQtcGsgZGV2OmJhY2sKIiIiCgppbXBvcnQgYXN5bmNpbwppbXBvcnQgb3MKZnJvbSB0eXBpbmcgaW1wb3J0IEFueQoKZnJvbSByYWluYm93LnJiX3NkayBpbXBvcnQgUkJNYW5pcHVsYXRlU0RLLCBSQlBsdWdpbkNhbGwKCgpQTFVHSU5fTkFNRSA9ICJfX1BMVUdJTl9OQU1FX18iCgpwbHVnaW4gPSBSQlBsdWdpbkNhbGwoKQptYW5pcHVsYXRlID0gUkJNYW5pcHVsYXRlU0RLKCkKCgpkZWYgcmVnaXN0ZXJfaGFuZGxlcnMoKToKICAgICMgUmVnaXN0ZXIgaGFuZGxlcnMgaGVyZSDigJQgY2FsbGVkIGFmdGVyIGNvbm5lY3QoKSBzbyBzdWJzY3JpcHRpb25zIHN1cnZpdmUKICAgICMgc2Vzc2lvbiByZWNvbm5lY3Rpb24gaW4gcmVtb3RlLWRldiBtb2RlLgoKICAgIEBwbHVnaW4uc3Vic2NyaWJlKCJldmVudCIpCiAgICBkZWYgb25fdWlfZXZlbnQocGF5bG9hZDogZGljdFtzdHIsIEFueV0gfCBOb25lID0gTm9uZSk6CiAgICAgICAgIiIiSGFuZGxlIG1lc3NhZ2VzIHB1Ymxpc2hlZCBmcm9tIHRoZSBwbHVnaW4gVUkgd2l0aCByYi5wdWIoImV2ZW50IiwgLi4uKS4iIiIKICAgICAgICBwcmludChmIlt7UExVR0lOX05BTUV9XSBldmVudDoiLCBwYXlsb2FkKQoKICAgIEBwbHVnaW4uc2VydmUoImdyaXAiKQogICAgZGVmIGdyaXAocGF5bG9hZDogZGljdFtzdHIsIEFueV0gfCBOb25lID0gTm9uZSk6CiAgICAgICAgIiIiSGFuZGxlIHRoZSBkZWZhdWx0IFVJIGJ1dHRvbjogcmIuYWN0aW9uKCJncmlwIiwgeyB3aWR0aCB9KS4iIiIKICAgICAgICB3aWR0aCA9IChwYXlsb2FkIG9yIHt9KS5nZXQoIndpZHRoIiwgMjApCiAgICAgICAgcHJpbnQoZiJbe1BMVUdJTl9OQU1FfV0gZ3JpcCByZXF1ZXN0ZWQ6IHdpZHRoPXt3aWR0aH0iKQogICAgICAgIHBsdWdpbi5wdWJsaXNoKCJzdGF0ZSIsIHsicmVhZHkiOiBUcnVlLCAibGFzdF9ncmlwX3dpZHRoIjogd2lkdGh9KQogICAgICAgIHJldHVybiB7Im9rIjogVHJ1ZSwgIndpZHRoIjogd2lkdGh9CgogICAgQHBsdWdpbi5zZXJ2ZSgidG9vbC9lY2hvIikKICAgIGRlZiBlY2hvKHBheWxvYWQ6IGRpY3Rbc3RyLCBBbnldIHwgTm9uZSA9IE5vbmUpOgogICAgICAgICIiIlNtYWxsIHF1ZXJ5IGV4YW1wbGUgY2FsbGFibGUgZnJvbSB0aGUgVUkgd2l0aCByYi5hY3Rpb24oInRvb2wvZWNobyIsIC4uLikuIiIiCiAgICAgICAgcmV0dXJuIHsiZWNobyI6IHBheWxvYWQsICJwbHVnaW4iOiBQTFVHSU5fTkFNRX0KCgpkZWYgbW92ZV9qX2V4YW1wbGUoKToKICAgICIiIgogICAgRXhhbXBsZTogdXNlIG90aGVyIHJvYm90IFNES3MgZnJvbSB0aGUgc2FtZSBiYWNrZW5kLgoKICAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IGNhbGxlZCBhdXRvbWF0aWNhbGx5LiBBZGQgc2FmZXR5IGNoZWNrcyBhbmQgY2FsbCBpdAogICAgZnJvbSB5b3VyIG93biBoYW5kbGVyIHdoZW4gdGhlIHJvYm90IGlzIHJlYWR5LgogICAgIiIiCiAgICByZXR1cm4gbWFuaXB1bGF0ZS5tb3ZlLmNhbGxfbW92ZV9qKAogICAgICAgIHJvYm90X21vZGVsPSJDNTAwOTIwIiwKICAgICAgICB0YXJnZXQ9ewogICAgICAgICAgICAidGFyX3ZhbHVlcyI6IFswLCAwLCAwLCAwLCAwLCAwXSwKICAgICAgICAgICAgInRhcl9mcmFtZSI6IDAsCiAgICAgICAgICAgICJ0YXJfdW5pdCI6IDAsCiAgICAgICAgfSwKICAgICkKCgphc3luYyBkZWYgbWFpbigpOgogICAgcm9ib3RfaG9zdCA9IG9zLmdldGVudigiTVVTQ0FUX1JPQk9UX0hPU1QiKQogICAgcm9ib3RfdG9rZW4gPSBvcy5nZXRlbnYoIk1VU0NBVF9ST0JPVF9UT0tFTiIpCgogICAgaWYgcm9ib3RfaG9zdCBhbmQgcm9ib3RfdG9rZW46CiAgICAgICAgIyBSZW1vdGUgZGV2OiBjb25uZWN0IHRvIHRoZSByb2JvdCBiZWZvcmUgcmVnaXN0ZXJpbmcgYW55IGhhbmRsZXJzLgogICAgICAgICMgY29ubmVjdCgpIGNsb3NlcyBhbmQgcmVvcGVucyB0aGUgWmVub2ggc2Vzc2lvbiwgc28gaGFuZGxlcnMgcmVnaXN0ZXJlZAogICAgICAgICMgYmVmb3JlIHRoaXMgY2FsbCB3b3VsZCBiZSBsb3N0LgogICAgICAgIGF3YWl0IG1hbmlwdWxhdGUuY29ubmVjdCh0b2tlbj1yb2JvdF90b2tlbiwgaG9zdD1yb2JvdF9ob3N0KQoKICAgIHJlZ2lzdGVyX2hhbmRsZXJzKCkKCiAgICBwbHVnaW4ucHVibGlzaCgic3RhdGUiLCB7InJlYWR5IjogVHJ1ZSwgInBsdWdpbiI6IFBMVUdJTl9OQU1FfSkKICAgIHByaW50KGYiW3tQTFVHSU5fTkFNRX1dIGJhY2tlbmQgcmVhZHkiKQoKICAgIHRyeToKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBhd2FpdCBhc3luY2lvLnNsZWVwKDEpCiAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBhc3luY2lvLkNhbmNlbGxlZEVycm9yKToKICAgICAgICBwYXNzCiAgICBmaW5hbGx5OgogICAgICAgIGlmIHJvYm90X2hvc3QgYW5kIHJvYm90X3Rva2VuOgogICAgICAgICAgICBhd2FpdCBtYW5pcHVsYXRlLmRpc2Nvbm5lY3QoKQogICAgICAgIHByaW50KGYiW3tQTFVHSU5fTkFNRX1dIHN0b3BwZWQiKQoKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICB0cnk6CiAgICAgICAgYXN5bmNpby5ydW4obWFpbigpKQogICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgogICAgICAgIHBhc3MK","common/requirements.txt":"cmFpbmJvdy1yYi1zZGs9PTAuMC43OQpyYWluYm93LXJiLWZsYXQtYnVmZmVycz09MC4wLjc5CnJhaW5ib3ctcmItemVub2g9PTAuMC43OQpyZXF1ZXN0cz09Mi4zNC4yCg==","common/tsconfig.json":"ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAidGFyZ2V0IjogIkVTTmV4dCIsCiAgICAibW9kdWxlIjogIkVTTmV4dCIsCiAgICAibW9kdWxlUmVzb2x1dGlvbiI6ICJidW5kbGVyIiwKICAgICJqc3giOiAicmVhY3QtanN4IiwKICAgICJzdHJpY3QiOiB0cnVlLAogICAgInNraXBMaWJDaGVjayI6IHRydWUsCiAgICAibm9FbWl0IjogdHJ1ZSwKICAgICJsaWIiOiBbIkRPTSIsICJET00uSXRlcmFibGUiLCAiRVNOZXh0Il0KICB9LAogICJpbmNsdWRlIjogWyJ1aSJdCn0K","common/ui/content.tsx":"aW1wb3J0IHsgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICJyZWFjdCI7CmltcG9ydCB7CiAgUkJDaGVja0JveCwKICBSQkxhYmVsQnV0dG9uLAogIFJCUmFkaW9Cb3gsCiAgUkJTZWxlY3RCb3gsCiAgUkJTbGlkZXIsCiAgUkJTd2l0Y2gsCiAgUkJUZXh0QXJlYSwKICBSQlRleHRGaWVsZCwKICBSQlRleHRJbnB1dCwKICBPcHRpb24KfSBmcm9tICJAcmFpbmJvdy1yb2JvdGljcy9wbHVnaW4tdWkvcmVhY3QiOwppbXBvcnQgeyB1c2VSYiB9IGZyb20gIkByYWluYm93LXJvYm90aWNzL3BsdWdpbi11aS9zZGsiOwoKdHlwZSBSdW5Nb2RlID0gImluc3BlY3QiIHwgImFzc2lzdCIgfCAiYXV0byI7Cgpjb25zdCBNT0RFX09QVElPTlM6IEFycmF5PHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IFJ1bk1vZGUgfT4gPSBbCiAgeyBsYWJlbDogIkluc3BlY3QiLCB2YWx1ZTogImluc3BlY3QiIH0sCiAgeyBsYWJlbDogIkFzc2lzdCIsIHZhbHVlOiAiYXNzaXN0IiB9LAogIHsgbGFiZWw6ICJBdXRvIiwgdmFsdWU6ICJhdXRvIiB9LApdOwoKY29uc3QgVEFTS19PUFRJT05TID0gWwogIHsgbGFiZWw6ICJQdWJsaXNoIHN0YXR1cyIsIHZhbHVlOiAicHVibGlzaCIgfSwKICB7IGxhYmVsOiAiUnVuIGdyaXAgYWN0aW9uIiwgdmFsdWU6ICJncmlwIiB9LAogIHsgbGFiZWw6ICJTYXZlIHNuYXBzaG90IiwgdmFsdWU6ICJzbmFwc2hvdCIgfSwKXTsKCi8vIEV4cG9ydCB5b3VyIFVJIGFzIHRoZSBkZWZhdWx0LiBUaGUgaG9zdCBtb3VudHMgaXQgKGRldjogd2l0aCBITVIpLgpleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBcHAoKSB7CiAgY29uc3QgcmIgPSB1c2VSYigpOwogIGNvbnN0IFt0YXJnZXROYW1lLCBzZXRUYXJnZXROYW1lXSA9IHVzZVN0YXRlKCJkZW1vX3RhcmdldCIpOwogIGNvbnN0IFtncmlwVHlwZSwgc2V0R3JpcFR5cGVdID0gdXNlU3RhdGU8c3RyaW5nPigpOwogIGNvbnN0IFtncmlwV2lkdGgsIHNldEdyaXBXaWR0aF0gPSB1c2VTdGF0ZSgyNCk7CiAgY29uc3QgW3NwZWVkLCBzZXRTcGVlZF0gPSB1c2VTdGF0ZSg0NSk7CiAgY29uc3QgW21vZGUsIHNldE1vZGVdID0gdXNlU3RhdGU8UnVuTW9kZT4oImFzc2lzdCIpOwogIGNvbnN0IFtlbmFibGVkLCBzZXRFbmFibGVkXSA9IHVzZVN0YXRlKHRydWUpOwogIGNvbnN0IFt0YXNrcywgc2V0VGFza3NdID0gdXNlU3RhdGU8QXJyYXk8c3RyaW5nPj4oWyJwdWJsaXNoIiwgImdyaXAiXSk7CiAgY29uc3QgW21lbW8sIHNldE1lbW9dID0gdXNlU3RhdGUoIlVzZSB0aGlzIGFyZWEgZm9yIG9wZXJhdG9yIG5vdGVzLiIpOwoKICBjb25zdCBwYXlsb2FkID0gdXNlTWVtbygKICAgICgpID0+ICh7CiAgICAgIHRhcmdldE5hbWUsCiAgICAgIGdyaXBXaWR0aCwKICAgICAgc3BlZWQsCiAgICAgIG1vZGUsCiAgICAgIGVuYWJsZWQsCiAgICAgIHRhc2tzLAogICAgICBtZW1vLAogICAgfSksCiAgICBbdGFyZ2V0TmFtZSwgZ3JpcFdpZHRoLCBzcGVlZCwgbW9kZSwgZW5hYmxlZCwgdGFza3MsIG1lbW9dLAogICk7CgogIGNvbnN0IHNob3dSZXF1ZXN0RXJyb3IgPSAoZXJyb3I6IHVua25vd24pID0+IHsKICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICJSZXF1ZXN0IGZhaWxlZCI7CiAgICByYi50b2FzdCh7IHR5cGU6ICJkYW5nZXIiLCBtZXNzYWdlIH0pOwogIH07CgogIGNvbnN0IHJ1bkFjdGlvbiA9IGFzeW5jICgpID0+IHsKICAgIHRyeSB7CiAgICAgIGF3YWl0IHJiLmFjdGlvbigiZ3JpcCIsIHBheWxvYWQpOwogICAgICByYi50b2FzdCh7IHR5cGU6ICJzdWNjZXNzIiwgbWVzc2FnZTogYFNlbnQgJHt0YXJnZXROYW1lfWAgfSk7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBzaG93UmVxdWVzdEVycm9yKGVycm9yKTsKICAgIH0KICB9OwoKICBjb25zdCBwdWJsaXNoUHJldmlldyA9IGFzeW5jICgpID0+IHsKICAgIHRyeSB7CiAgICAgIGNvbnN0IGlzQ29uZmlybSA9IGF3YWl0IHJiLmNvbmZpcm0oewogICAgICAgIG1lc3NhZ2U6ICJBcmUgeW91IHN1cmUgcHVibGlzaD8iLAogICAgICAgIGJ1dHRvblRleHQ6IHsgeWVzOiAiY29uZmlybSIsIG5vOiAiY2FuY2VsIiB9LAogICAgICB9KTsKCiAgICAgIGlmIChpc0NvbmZpcm0pIHsKICAgICAgICBhd2FpdCByYi5wdWIoImV2ZW50IiwgcGF5bG9hZCk7CiAgICAgIH0KICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgIHNob3dSZXF1ZXN0RXJyb3IoZXJyb3IpOwogICAgfQogIH07CgogIHJldHVybiAoCiAgICA8ZGl2IGNsYXNzTmFtZT0ibWF4LWgtWzcwdmhdIHctWzQyMHB4XSBwLTQgbWF4LXctZnVsbCBvdmVyZmxvdy15LWF1dG8gYmctYmctZWxldmF0ZWQgdGV4dC1mZy1kZWZhdWx0Ij4KICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZmxleC1jb2wgZ2FwLTUiPgogICAgICAgIDxoZWFkZXI+CiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0xMiI+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT0idHlwby1oZWFkaW5nLXhzLXNlbWlib2xkIj5EZW1vIENvbnRyb2w8L2gyPgogICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT0idHlwby1ib2R5LXhzMi1ub3JtYWwgdGV4dC1mZy1zdWJ0bGUiPgogICAgICAgICAgICAgICAgSW5wdXQgcGF0dGVybnMgZm9yIE11c2NhdCBwbHVnaW4gVUlzCiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPFJCU3dpdGNoCiAgICAgICAgICAgICAgY2hlY2tlZD17ZW5hYmxlZH0KICAgICAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2U9eyhuZXh0OiBib29sZWFuKSA9PiB7CiAgICAgICAgICAgICAgICBzZXRFbmFibGVkKG5leHQpOwogICAgICAgICAgICAgICAgcmIudG9hc3Qoe21lc3NhZ2U6IG5leHQgPyAiUGx1Z2luIGVuYWJsZWQiIDogIlBsdWdpbiBwYXVzZWQifSk7CiAgICAgICAgICAgICAgfX0KICAgICAgICAgICAgLz4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvaGVhZGVyPgoKICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9ImZsZXggZmxleC1jb2wgZ2FwLTQiPgogICAgICAgICAgPFJCVGV4dEZpZWxkCiAgICAgICAgICAgIGxhYmVsPSJUYXJnZXQgbmFtZSIKICAgICAgICAgICAgcmVxdWlyZWQKICAgICAgICAgICAgaGVscGVyVGV4dD0iVXNlZCBhcyB0aGUgYmFja2VuZCBhY3Rpb24gdGFyZ2V0LiIKICAgICAgICAgID4KICAgICAgICAgICAgPFJCVGV4dElucHV0CiAgICAgICAgICAgICAgbmFtZT0idGFyZ2V0TmFtZSIKICAgICAgICAgICAgICB2YWx1ZT17dGFyZ2V0TmFtZX0KICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idGFyZ2V0IGlkIgogICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KHZhbHVlKSA9PiBzZXRUYXJnZXROYW1lKFN0cmluZyh2YWx1ZSkpfQogICAgICAgICAgICAvPgogICAgICAgICAgPC9SQlRleHRGaWVsZD4KCiAgICAgICAgICA8UkJUZXh0RmllbGQgbGFiZWw9IlNlbGVjdCBHcmlwIj4KICAgICAgICAgICAgPFJCU2VsZWN0Qm94ICBjbGFzc05hbWU9InctZnVsbCIgdmFsdWU9e2dyaXBUeXBlfSBoYW5kbGVDaGFuZ2U9e3NldEdyaXBUeXBlfT4KICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPSJBIj5BIEdyaXA8L09wdGlvbj4KICAgICAgICAgICAgICA8T3B0aW9uIHZhbHVlPSJCIj5CIEdyaXA8L09wdGlvbj4KICAgICAgICAgICAgPC9SQlNlbGVjdEJveD4KICAgICAgICAgIDwvUkJUZXh0RmllbGQ+CgogICAgICAgICAgPGRpdiBjbGFzc05hbWU9ImZsZXggZ2FwLTQiPgogICAgICAgICAgICA8UkJUZXh0RmllbGQgY2xhc3NOYW1lPSJmbGV4LTEiIGxhYmVsPSJHcmlwIHdpZHRoIiBoZWxwZXJUZXh0PSIwLTEwMCBtbSI+CiAgICAgICAgICAgICAgPFJCVGV4dElucHV0CiAgICAgICAgICAgICAgICBjbGFzc05hbWU9InctZnVsbCIKICAgICAgICAgICAgICAgIG5hbWU9ImdyaXBXaWR0aCIKICAgICAgICAgICAgICAgIHR5cGU9Im51bWJlciIKICAgICAgICAgICAgICAgIHZhbHVlPXtncmlwV2lkdGh9CiAgICAgICAgICAgICAgICB2YWxpZGF0ZT17KHZhbHVlOiBudW1iZXIpID0+CiAgICAgICAgICAgICAgICAgIE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgTnVtYmVyKHZhbHVlKSB8fCAwKSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KHZhbHVlKSA9PiBzZXRHcmlwV2lkdGgoTnVtYmVyKHZhbHVlKSB8fCAwKX0KICAgICAgICAgICAgICAvPgogICAgICAgICAgICA8L1JCVGV4dEZpZWxkPgoKICAgICAgICAgICAgPFJCVGV4dEZpZWxkIGNsYXNzTmFtZT0iZmxleC0xIiBsYWJlbD0iU3BlZWQiIGhlbHBlclRleHQ9e2Ake3NwZWVkfSVgfT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBpdGVtcy1jZW50ZXIgcHgtMiI+CiAgICAgICAgICAgICAgICA8UkJTbGlkZXIKICAgICAgICAgICAgICAgICAgdmFsdWU9e1tzcGVlZF19CiAgICAgICAgICAgICAgICAgIG1pbj17MH0KICAgICAgICAgICAgICAgICAgbWF4PXsxMDB9CiAgICAgICAgICAgICAgICAgIHN0ZXA9ezV9CiAgICAgICAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2U9eyh2YWx1ZXM6IG51bWJlcltdKSA9PgogICAgICAgICAgICAgICAgICAgIHNldFNwZWVkKHZhbHVlc1swXSA/PyAwKQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L1JCVGV4dEZpZWxkPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9Im1iLTQiPgogICAgICAgICAgPFJCVGV4dEZpZWxkIGxhYmVsPSJSdW4gbW9kZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSJmbGV4IGp1c3RpZnktYmV0d2VlbiBib3JkZXItMSBib3JkZXItYm9yZGVyLXN1YnRsZSByb3VuZGVkLXNtIHAtMiI+CiAgICAgICAgICAgIHtNT0RFX09QVElPTlMubWFwKChpdGVtKSA9PiAoCiAgICAgICAgICAgICAgPFJCUmFkaW9Cb3gKICAgICAgICAgICAgICAgIGtleT17aXRlbS52YWx1ZX0KICAgICAgICAgICAgICAgIG5hbWU9Im1vZGUiCiAgICAgICAgICAgICAgICBjaGVja1ZhbHVlPXtpdGVtLnZhbHVlfQogICAgICAgICAgICAgICAgdmFsdWU9e21vZGV9CiAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9eyh2YWx1ZSkgPT4gc2V0TW9kZSh2YWx1ZSBhcyBSdW5Nb2RlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICB7aXRlbS5sYWJlbH0KICAgICAgICAgICAgICA8L1JCUmFkaW9Cb3g+CiAgICAgICAgICAgICkpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L1JCVGV4dEZpZWxkPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPSJtYi00Ij4KICAgICAgICAgIDxSQlRleHRGaWVsZCBsYWJlbD0iVGFza3MiPgogICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0iZmxleCBqdXN0aWZ5LWJldHdlZW4gYm9yZGVyLTEgYm9yZGVyLWJvcmRlci1zdWJ0bGUgcm91bmRlZC1zbSBwLTIiPgogICAgICAgICAgICAgIHtUQVNLX09QVElPTlMubWFwKChpdGVtKSA9PiAoCiAgICAgICAgICAgICAgICA8UkJDaGVja0JveAogICAgICAgICAgICAgICAgICBrZXk9e2l0ZW0udmFsdWV9CiAgICAgICAgICAgICAgICAgIG5hbWU9InRhc2tzIgogICAgICAgICAgICAgICAgICBjaGVja1ZhbHVlPXtpdGVtLnZhbHVlfQogICAgICAgICAgICAgICAgICB2YWx1ZT17dGFza3N9CiAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17KHZhbHVlKSA9PgogICAgICAgICAgICAgICAgICAgIHNldFRhc2tzKEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUubWFwKFN0cmluZykgOiBbXSkKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICB7aXRlbS5sYWJlbH0KICAgICAgICAgICAgICAgIDwvUkJDaGVja0JveD4KICAgICAgICAgICAgICApKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L1JCVGV4dEZpZWxkPgogICAgICAgICAgCiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8UkJUZXh0RmllbGQgbGFiZWw9Ik1lbW8iPgogICAgICAgICAgPFJCVGV4dEFyZWEKICAgICAgICAgICAgbmFtZT0ibWVtbyIKICAgICAgICAgICAgdmFsdWU9e21lbW99CiAgICAgICAgICAgIG1heExlbmd0aD17MTIwfQogICAgICAgICAgICByb3dzPXs0fQogICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e3NldE1lbW99CiAgICAgICAgICAvPgogICAgICAgIDwvUkJUZXh0RmllbGQ+CgogICAgICAgIDxmb290ZXIgY2xhc3NOYW1lPSJncmlkIGdyaWQtY29scy0yIGdhcC04IHB0LTQiPgogICAgICAgICAgPFJCTGFiZWxCdXR0b24gdmFyaWFudD0ib3V0bGluZWQiIG9uQ2xpY2s9e3B1Ymxpc2hQcmV2aWV3fT4KICAgICAgICAgICAgUHVibGlzaAogICAgICAgICAgPC9SQkxhYmVsQnV0dG9uPgogICAgICAgICAgPFJCTGFiZWxCdXR0b24gb25DbGljaz17cnVuQWN0aW9ufSBkaXNhYmxlZD17IWVuYWJsZWR9PgogICAgICAgICAgICBSdW4gQWN0aW9uCiAgICAgICAgICA8L1JCTGFiZWxCdXR0b24+CiAgICAgICAgPC9mb290ZXI+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgKTsKfQo=","common/ui/style.css":"QGxheWVyIHRoZW1lLCB1dGlsaXRpZXM7CgpAaW1wb3J0ICJ0YWlsd2luZGNzcy90aGVtZS5jc3MiIGxheWVyKHRoZW1lKTsKQGltcG9ydCAidGFpbHdpbmRjc3MvdXRpbGl0aWVzLmNzcyIgbGF5ZXIodXRpbGl0aWVzKTsKCkBzb3VyY2UgIi4vKiovKi57dHMsdHN4fSI7Cg==","common/vite.config.ts":"aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAidml0ZSI7CmltcG9ydCB0YWlsd2luZGNzcyBmcm9tICJAdGFpbHdpbmRjc3Mvdml0ZSI7CmltcG9ydCB7IG11c2NhdCB9IGZyb20gIkByYWluYm93LXJvYm90aWNzL211c2NhdC1wbHVnaW4ta2l0L3ZpdGUiOwoKLy8gVGhlIG11c2NhdCgpIHByZXNldCB3aXJlcyByZWFjdC1yZWZyZXNoLCB1aS8gZW50cnkgZGlzY292ZXJ5LCBhbmQgbWFya3MgdGhlCi8vIGhvc3QtcHJvdmlkZWQgcnVudGltZSAocGx1Z2luLXVpLCByZWFjdCkgYXMgZXh0ZXJuYWwuIEFkZCB5b3VyIG93biBwbHVnaW5zIG9yCi8vIG92ZXJyaWRlcyBoZXJlIGFzIG5lZWRlZC4KZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHsKICBwbHVnaW5zOiBbdGFpbHdpbmRjc3MoKSwgbXVzY2F0KCldLAp9KTsK","cpp/cpp/CMakeLists.txt":"Y21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDMuMTYpCnByb2plY3QoX19QTFVHSU5fU0xVR19fIENYWCkKCnNldChDTUFLRV9DWFhfU1RBTkRBUkQgMTcpCnNldChDTUFLRV9DWFhfU1RBTkRBUkRfUkVRVUlSRUQgT04pCgojIFRoZSBleGVjdXRhYmxlIG5hbWUgbXVzdCBtYXRjaCBydW50aW1lLmVudHJ5IGluIG1hbmlmZXN0Lmpzb24uCmFkZF9leGVjdXRhYmxlKF9fUExVR0lOX1NMVUdfXyBtYWluLmNwcCkKCiMgVE9ETyhjcHAtc2RrKTogbGluayB0aGUgcmFpbmJvdyBjcHAgU0RLIGR5bmFtaWNhbGx5ICh0aGUgcm9ib3QgcHJvdmlkZXMgdGhlCiMgLnNvIGF0IHJ1bnRpbWUg4oCUIGRvIE5PVCBidW5kbGUvc3RhdGljLWxpbmsgaXQpLiBPbmNlIHRoZSBTREsgc2hpcHMgYW4gYXB0CiMgcGFja2FnZSB3aXRoIENNYWtlIGNvbmZpZywgZW5hYmxlOgojICAgZmluZF9wYWNrYWdlKHJhaW5ib3dfY3BwX3NkayBSRVFVSVJFRCkKIyAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhfX1BMVUdJTl9TTFVHX18gUFJJVkFURSByYWluYm93OjpjcHBfc2RrKQo=","cpp/cpp/main.cpp":"Ly8gX19QTFVHSU5fTkFNRV9fIOKAlCBDKysgcGx1Z2luIGJhY2sgZW5kLgovLwovLyBUaGUgQysrIHBsdWdpbiBTREsgaXMgbm90IGF2YWlsYWJsZSB5ZXQsIHNvIHRoaXMgaXMgYSBidWlsZC9ydW4gc2tlbGV0b24uCi8vIE9uY2UgdGhlIFNESyBsYW5kcywgY29ubmVjdCB0byB0aGUgcGx1Z2luIGdhdGV3YXkgaGVyZSAodGhlIGhvc3QgZXhwb3NlcyBpdAovLyBhdCB0aGUgUkJfUExVR0lOX0dBVEVXQVkgLyBSQl9QTFVHSU5fSUQgZW52aXJvbm1lbnQgdmFyaWFibGVzKSBhbmQgd2lyZSB1cAovLyBwdWIgLyBzdWIgLyBzZXJ2ZSwgbWlycm9yaW5nIHRoZSBQeXRob24gcmFpbmJvdy5yYl9zZGsuUkJQbHVnaW5DYWxsIEFQSS4KCiNpbmNsdWRlIDxjaHJvbm8+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDx0aHJlYWQ+CgppbnQgbWFpbigpIHsKICBjb25zdCBjaGFyKiBwbHVnaW5faWQgPSBzdGQ6OmdldGVudigiUkJfUExVR0lOX0lEIik7CiAgc3RkOjpjb3V0IDw8ICJbX19QTFVHSU5fTkFNRV9fXSBiYWNrZW5kIHJlYWR5IgogICAgICAgICAgICA8PCAocGx1Z2luX2lkID8gc3RkOjpzdHJpbmcoIiAoaWQ9IikgKyBwbHVnaW5faWQgKyAiKSIgOiAiIikKICAgICAgICAgICAgPDwgc3RkOjplbmRsOwoKICAvLyBUT0RPOiBjb25uZWN0IHRvIHRoZSBwbHVnaW4gZ2F0ZXdheSBhbmQgcmVnaXN0ZXIgaGFuZGxlcnMgb25jZSB0aGUKICAvLyAgICAgICBDKysgU0RLIGlzIGF2YWlsYWJsZS4gRm9yIG5vdywganVzdCBrZWVwIHRoZSBwcm9jZXNzIGFsaXZlLgogIHdoaWxlICh0cnVlKSB7CiAgICBzdGQ6OnRoaXNfdGhyZWFkOjpzbGVlcF9mb3Ioc3RkOjpjaHJvbm86OnNlY29uZHMoMSkpOwogIH0KICByZXR1cm4gMDsKfQo=","ros2/ros2_ws/src/__PLUGIN_SLUG__/__PLUGIN_SLUG__/__init__.py":"","ros2/ros2_ws/src/__PLUGIN_SLUG__/__PLUGIN_SLUG__/node.py":"aW1wb3J0IHJjbHB5CmZyb20gcmNscHkubm9kZSBpbXBvcnQgTm9kZQpmcm9tIHJhaW5ib3cucmJfc2RrIGltcG9ydCBSQk1hbmlwdWxhdGVTREsgICMgUHlQSTogcmFpbmJvdy1yYi1zZGsKCgpzZGsgPSBSQk1hbmlwdWxhdGVTREsoKQoKCmNsYXNzIF9fUExVR0lOX0NMQVNTX19Ob2RlKE5vZGUpOgogICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18oIl9fUExVR0lOX1NMVUdfX19ub2RlIikKICAgICAgICBzZWxmLmdldF9sb2dnZXIoKS5pbmZvKCJfX1BMVUdJTl9OQU1FX18gbm9kZSBzdGFydGVkIikKICAgICAgICAjIHNkayBpcyBhdmFpbGFibGUgaGVyZSDigJQgdXNlIGl0IGFsb25nc2lkZSBST1MyIHRvcGljcyBhcyBuZWVkZWQKCgpkZWYgbWFpbihhcmdzPU5vbmUpOgogICAgcmNscHkuaW5pdChhcmdzPWFyZ3MpCiAgICBub2RlID0gX19QTFVHSU5fQ0xBU1NfX05vZGUoKQogICAgcmNscHkuc3Bpbihub2RlKQogICAgbm9kZS5kZXN0cm95X25vZGUoKQogICAgcmNscHkuc2h1dGRvd24oKQoKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICBtYWluKCkK","ros2/ros2_ws/src/__PLUGIN_SLUG__/package.xml":"PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxwYWNrYWdlIGZvcm1hdD0iMyI+CiAgPG5hbWU+X19QTFVHSU5fU0xVR19fPC9uYW1lPgogIDx2ZXJzaW9uPjAuMC4xPC92ZXJzaW9uPgogIDxkZXNjcmlwdGlvbj5fX1BMVUdJTl9OQU1FX18gUk9TMiBub2RlPC9kZXNjcmlwdGlvbj4KICA8bWFpbnRhaW5lciBlbWFpbD0idG9kb0BleGFtcGxlLmNvbSI+bWFpbnRhaW5lcjwvbWFpbnRhaW5lcj4KICA8bGljZW5zZT5Qcm9wcmlldGFyeTwvbGljZW5zZT4KICA8ZGVwZW5kPnJjbHB5PC9kZXBlbmQ+CiAgPGV4cG9ydD48YnVpbGRfdHlwZT5hbWVudF9weXRob248L2J1aWxkX3R5cGU+PC9leHBvcnQ+CjwvcGFja2FnZT4K","ros2/ros2_ws/src/__PLUGIN_SLUG__/resource/__PLUGIN_SLUG__":"","ros2/ros2_ws/src/__PLUGIN_SLUG__/setup.py":"ZnJvbSBzZXR1cHRvb2xzIGltcG9ydCBzZXR1cAoKcGFja2FnZV9uYW1lID0gIl9fUExVR0lOX1NMVUdfXyIKCnNldHVwKAogICAgbmFtZT1wYWNrYWdlX25hbWUsCiAgICB2ZXJzaW9uPSIwLjAuMSIsCiAgICBwYWNrYWdlcz1bcGFja2FnZV9uYW1lXSwKICAgIGRhdGFfZmlsZXM9WwogICAgICAgICgic2hhcmUvYW1lbnRfaW5kZXgvcmVzb3VyY2VfaW5kZXgvcGFja2FnZXMiLCBbInJlc291cmNlLyIgKyBwYWNrYWdlX25hbWVdKSwKICAgICAgICAoInNoYXJlLyIgKyBwYWNrYWdlX25hbWUsIFsicGFja2FnZS54bWwiXSksCiAgICBdLAogICAgaW5zdGFsbF9yZXF1aXJlcz1bInNldHVwdG9vbHMiXSwKICAgIHppcF9zYWZlPVRydWUsCiAgICBlbnRyeV9wb2ludHM9ewogICAgICAgICJjb25zb2xlX3NjcmlwdHMiOiBbIl9fUExVR0lOX1NMVUdfX19ub2RlID0gX19QTFVHSU5fU0xVR19fLm5vZGU6bWFpbiJdLAogICAgfSwKKQo=","ros2-cpp/ros2_ws/src/__PLUGIN_SLUG__/CMakeLists.txt":"Y21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDMuMTYpCnByb2plY3QoX19QTFVHSU5fU0xVR19fKQoKaWYoTk9UIENNQUtFX0NYWF9TVEFOREFSRCkKICBzZXQoQ01BS0VfQ1hYX1NUQU5EQVJEIDE3KQplbmRpZigpCgpmaW5kX3BhY2thZ2UoYW1lbnRfY21ha2UgUkVRVUlSRUQpCmZpbmRfcGFja2FnZShyY2xjcHAgUkVRVUlSRUQpCgphZGRfZXhlY3V0YWJsZShfX1BMVUdJTl9TTFVHX19fbm9kZSBzcmMvbm9kZS5jcHApCmFtZW50X3RhcmdldF9kZXBlbmRlbmNpZXMoX19QTFVHSU5fU0xVR19fX25vZGUgcmNsY3BwKQoKaW5zdGFsbChUQVJHRVRTIF9fUExVR0lOX1NMVUdfX19ub2RlCiAgREVTVElOQVRJT04gbGliLyR7UFJPSkVDVF9OQU1FfSkKCmFtZW50X3BhY2thZ2UoKQo=","ros2-cpp/ros2_ws/src/__PLUGIN_SLUG__/package.xml":"PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxwYWNrYWdlIGZvcm1hdD0iMyI+CiAgPG5hbWU+X19QTFVHSU5fU0xVR19fPC9uYW1lPgogIDx2ZXJzaW9uPjAuMC4xPC92ZXJzaW9uPgogIDxkZXNjcmlwdGlvbj5fX1BMVUdJTl9OQU1FX18gUk9TMiBub2RlIChyY2xjcHApPC9kZXNjcmlwdGlvbj4KICA8bWFpbnRhaW5lciBlbWFpbD0idG9kb0BleGFtcGxlLmNvbSI+bWFpbnRhaW5lcjwvbWFpbnRhaW5lcj4KICA8bGljZW5zZT5Qcm9wcmlldGFyeTwvbGljZW5zZT4KICA8YnVpbGR0b29sX2RlcGVuZD5hbWVudF9jbWFrZTwvYnVpbGR0b29sX2RlcGVuZD4KICA8ZGVwZW5kPnJjbGNwcDwvZGVwZW5kPgogIDxleHBvcnQ+PGJ1aWxkX3R5cGU+YW1lbnRfY21ha2U8L2J1aWxkX3R5cGU+PC9leHBvcnQ+CjwvcGFja2FnZT4K","ros2-cpp/ros2_ws/src/__PLUGIN_SLUG__/src/node.cpp":"Ly8gX19QTFVHSU5fTkFNRV9fIOKAlCBST1MyIG5vZGUgKHJjbGNwcCkuCi8vCi8vIFRoZSBub2RlIGlzIGxhdW5jaGVkIHdpdGggYC0tcm9zLWFyZ3MgLXIgX19uczo9L3tzbHVnfWAgYXV0b21hdGljYWxseSBieQovLyBkZXY6YmFjay4gUk9TMiB0b3BpY3MgYXJlIGJyaWRnZWQgdG8gdGhlIHBsdWdpbiBjb21tdW5pY2F0aW9uIGxheWVyLCBzbyBhCi8vIHBsYWluIHJjbGNwcCBub2RlIGlzIGFsbCB5b3UgbmVlZCDigJQgcmVsYXRpdmUgdG9waWMgbmFtZXMgZ2V0IHRoZSBuYW1lc3BhY2UKLy8gcHJlZml4IGFwcGxpZWQgYXV0b21hdGljYWxseS4KI2luY2x1ZGUgInJjbGNwcC9yY2xjcHAuaHBwIgoKY2xhc3MgX19QTFVHSU5fQ0xBU1NfX05vZGUgOiBwdWJsaWMgcmNsY3BwOjpOb2RlIHsKcHVibGljOgogIF9fUExVR0lOX0NMQVNTX19Ob2RlKCkgOiBOb2RlKCJfX1BMVUdJTl9TTFVHX19fbm9kZSIpIHsKICAgIFJDTENQUF9JTkZPKHRoaXMtPmdldF9sb2dnZXIoKSwgIl9fUExVR0lOX05BTUVfXyBub2RlIHN0YXJ0ZWQiKTsKICAgIC8vIGNyZWF0ZSBwdWJsaXNoZXJzIC8gc3Vic2NyaWJlcnMgLyBzZXJ2aWNlcyBoZXJlCiAgfQp9OwoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KSB7CiAgcmNsY3BwOjppbml0KGFyZ2MsIGFyZ3YpOwogIHJjbGNwcDo6c3BpbihzdGQ6Om1ha2Vfc2hhcmVkPF9fUExVR0lOX0NMQVNTX19Ob2RlPigpKTsKICByY2xjcHA6OnNodXRkb3duKCk7CiAgcmV0dXJuIDA7Cn0K","docker/Dockerfile.bridge":"IyBTb2NrZXQuSU8gYnJpZGdlIGNvbnRhaW5lciDigJQgdGhlIGZyb250ZW5kIChwcmV2aWV3LWhvc3QpIGFuZCB0aGUgYmFja2VuZAojIGNvbnRhaW5lciByZW5kZXp2b3VzIGhlcmUgZHVyaW5nIGBtdXNjYXQtcGsgZGV2YC4KIyAgIC0gZnJvbnRlbmQgKGhvc3QpICDihpIgcHVibGlzaGVkIHBvcnQgbG9jYWxob3N0OjEwMDAwCiMgICAtIGJhY2tlbmQgY29udGFpbmVyIOKGkiBzaGFyZXMgdGhpcyBjb250YWluZXIncyBuZXRucyAoLS1uZXR3b3JrIGNvbnRhaW5lcjopLAojICAgICAgICAgICAgICAgICAgICAgICAgIHNvIGl0IHJlYWNoZXMgdGhlIGJyaWRnZSBhdCBsb2NhbGhvc3Q6MTAwMDAgdG9vCiMgQnVpbGQgY29udGV4dCBpcyB0aGUgYGNsaS9gIGRpciBzbyBpdCBjYW4gY29weSBzcmMvc29ja2V0QnJpZGdlLm1qcy4KRlJPTSBub2RlOjIwLXNsaW0KTEFCRUwgY29tLnJhaW5ib3ctcm9ib3RpY3MubXVzY2F0LXBrPSJ0cnVlIgoKV09SS0RJUiAvYnJpZGdlCkNPUFkgZG9ja2VyL2JyaWRnZS1wYWNrYWdlLmpzb24gcGFja2FnZS5qc29uClJVTiBucG0gaW5zdGFsbCAtLW9taXQ9ZGV2IC0tbm8tYXVkaXQgLS1uby1mdW5kCgpDT1BZIHNyYy9zb2NrZXRCcmlkZ2UubWpzIC4vc29ja2V0QnJpZGdlLm1qcwoKRVhQT1NFIDEwMDAwCkNNRCBbIm5vZGUiLCAic29ja2V0QnJpZGdlLm1qcyJdCg==","docker/Dockerfile.cpp":"IyBEZXYvYnVpbGQgY29udGFpbmVyIGZvciB0aGUgcHVyZSBDKysgcGx1Z2luIGJhY2sgZW5kLgojIE1hdGNoZXMgdGhlIE11c2NhdCByb2JvdCBiYWNrZW5kIE9TIChVYnVudHUgMjQuMDQpIHNvIHRoZSBjb21waWxlZCBiaW5hcnkKIyBpcyBBQkktY29tcGF0aWJsZSB3aXRoIHRoZSByb2JvdC4gVXNlZCBieSBgbXVzY2F0LXBrIGRldjpiYWNrYCBhbmQgYGJ1aWxkYAojIOKAlCBOT1Qgc2hpcHBlZCBpbiB0aGUgcGx1Z2luIFpJUC4KRlJPTSB1YnVudHU6MjQuMDQKTEFCRUwgY29tLnJhaW5ib3ctcm9ib3RpY3MubXVzY2F0LXBrPSJ0cnVlIgoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSAtLW5vLWluc3RhbGwtcmVjb21tZW5kcyBcCiAgICAgIGJ1aWxkLWVzc2VudGlhbCBcCiAgICAgIGNtYWtlIFwKICAgICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKIyBUT0RPKGNwcC1zZGspOiBpbnN0YWxsIHRoZSByYWluYm93IGNwcCBTREsgKGRldiBwYWNrYWdlKSBoZXJlLCBwaW5uZWQgdG8gdGhlCiMgcm9ib3QncyB2ZXJzaW9uLCBzbyBwbHVnaW5zIGJ1aWxkL2xpbmsgYWdhaW5zdCB0aGUgc2FtZSBTREsgYXMgcHJvZHVjdGlvbi4KIyBQbGFuOiBhcHQgcGFja2FnZSArIGR5bmFtaWMgbGluayAodGhlIHJvYm90IHByb3ZpZGVzIHRoZSAuc28gYXQgcnVudGltZTsKIyB3ZSBkbyBOT1QgYnVuZGxlIGl0IGludG8gdGhlIHBsdWdpbiBiaW5hcnkpLiBlLmcuOgojICAgUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSByYWluYm93LWNwcC1zZGstZGV2PTxyb2JvdC12ZXJzaW9uPiBcCiMgICAgICAgJiYgcm0gLXJmIC92YXIvbGliL2FwdC9saXN0cy8qCgpXT1JLRElSIC9wbHVnaW4KCkNNRCBbImJhc2giXQo=","docker/Dockerfile.dev":"IyBEZXYtb25seSBjb250YWluZXIgZm9yIHRoZSBST1MyIHBsdWdpbiBiYWNrIGVuZC4KIyBNYXRjaGVzIHRoZSBNdXNjYXQgcm9ib3QgYmFja2VuZDogUk9TMiBKYXp6eSArIFB5dGhvbiAzLjEyIChVYnVudHUgMjQuMDQpLgojIFVzZWQgYnkgYG11c2NhdC1wayBkZXY6YmFja2Ag4oCUIE5PVCBzaGlwcGVkIGluIHRoZSBwbHVnaW4gWklQLgpGUk9NIHJvczpqYXp6eS1yb3MtYmFzZQpMQUJFTCBjb20ucmFpbmJvdy1yb2JvdGljcy5tdXNjYXQtcGs9InRydWUiCgpSVU4gYXB0LWdldCB1cGRhdGUgJiYgYXB0LWdldCBpbnN0YWxsIC15IC0tbm8taW5zdGFsbC1yZWNvbW1lbmRzIFwKICAgICAgcHl0aG9uMy1waXAgXAogICAgICBweXRob24zLWNvbGNvbi1jb21tb24tZXh0ZW5zaW9ucyBcCiAgICAmJiBybSAtcmYgL3Zhci9saWIvYXB0L2xpc3RzLyoKCldPUktESVIgL3BsdWdpbgoKQ01EIFsiYmFzaCJdCg==","docker/Dockerfile.python":"IyBEZXYvYnVpbGQgY29udGFpbmVyIGZvciB0aGUgUHl0aG9uIHBsdWdpbiBiYWNrIGVuZC4KIyBNYXRjaGVzIHRoZSBNdXNjYXQgcm9ib3QgYmFja2VuZDogVWJ1bnR1IDI0LjA0ICsgUHl0aG9uIDMuMTIuCiMgVXNlZCBieSBgbXVzY2F0LXBrIGRldjpiYWNrYCAoaG90LXJlbG9hZCkgYW5kIGBtdXNjYXQtcGsgYnVpbGRgIChsb2NrICsgd2hlZWwgdmVuZG9yKS4KIyBOT1Qgc2hpcHBlZCBpbiB0aGUgcGx1Z2luIFpJUCDigJQgdGhlIHJvYm90IGluc3RhbGxzIGRlcHMgZnJvbSBkaXN0L3doZWVscy8gb2ZmbGluZS4KRlJPTSB1YnVudHU6MjQuMDQKTEFCRUwgY29tLnJhaW5ib3ctcm9ib3RpY3MubXVzY2F0LXBrPSJ0cnVlIgoKUlVOIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSAtLW5vLWluc3RhbGwtcmVjb21tZW5kcyBcCiAgICAgIHB5dGhvbjMgXAogICAgICBweXRob24zLXBpcCBcCiAgICAmJiBybSAtcmYgL3Zhci9saWIvYXB0L2xpc3RzLyogXAogICAgJiYgcGlwMyBpbnN0YWxsIHV2PT0wLjguMTggLS1icmVhay1zeXN0ZW0tcGFja2FnZXMKCiMgVE9ETyhjcHAtc2RrKTogdGhlIFB5dGhvbiBTREsgaXMgYSBweWJpbmQgd3JhcHBlciBvdmVyIHRoZSBjcHAgU0RLLCBzbyB0aGUKIyBjcHAgU0RLIHNoYXJlZCBsaWIgbXVzdCBiZSBwcmVzZW50IGZvciB0aGUgcHl0aG9uIG1vZHVsZSB0byBsb2FkLiBJbnN0YWxsIHRoZQojIHJhaW5ib3cgY3BwIFNESyAoYXB0LCBwaW5uZWQgdG8gdGhlIHJvYm90J3MgdmVyc2lvbikgaGVyZSBvbmNlIGl0IGV4aXN0cy4KCldPUktESVIgL3BsdWdpbgoKQ01EIFsiYmFzaCJdCg==","docker/bridge-package.json":"ewogICJuYW1lIjogIm11c2NhdC1way1icmlkZ2UiLAogICJwcml2YXRlIjogdHJ1ZSwKICAidHlwZSI6ICJtb2R1bGUiLAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAic29ja2V0LmlvIjogIl40LjguMSIKICB9Cn0K"};
|
package/cli/src/util.mjs
CHANGED
|
@@ -202,6 +202,19 @@ export function pruneMuskatImages() {
|
|
|
202
202
|
);
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
+
/**
|
|
206
|
+
* Docker flags that let the backend take a realtime scheduling priority
|
|
207
|
+
* (SCHED_FIFO/RR). Neither CAP_SYS_NICE nor a non-zero RLIMIT_RTPRIO is in
|
|
208
|
+
* Docker's default set, so without these sched_setscheduler() fails with EPERM.
|
|
209
|
+
* Mirrors the robot's `muscat` container (rby2 backend/docker-compose.yml) so
|
|
210
|
+
* dev and the robot behave the same.
|
|
211
|
+
*/
|
|
212
|
+
export function realtimeFlags() {
|
|
213
|
+
// memlock is bounded (not unlimited): mlockall'd pages can't be swapped out,
|
|
214
|
+
// so an unbounded limit lets a plugin pin RAM until the robot OOMs.
|
|
215
|
+
return ["--cap-add", "SYS_NICE", "--ulimit", "rtprio=99", "--ulimit", "memlock=536870912"];
|
|
216
|
+
}
|
|
217
|
+
|
|
205
218
|
/** True if the image already exists in the local Docker image store. */
|
|
206
219
|
export function dockerImageExists(image) {
|
|
207
220
|
return spawnSync("docker", ["image", "inspect", image], { stdio: "ignore" }).status === 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as ce,Z as Y,g as he,v as M,s as fe,Q as de,M as ge,_ as be,a as q}from"./index-CgJh_5EZ.js";import{r as p,R as m}from"./index-Dmy2JGbm.js";import"./iframe-BwCxSq5d.js";import"./jsx-runtime-BTJTZTIL.js";import"./index-ChsGqxH_.js";import"./index-CT3U1fyk.js";import"./index-BRq5TIsn.js";import"./index-DgH-xKnr.js";import"./index-DrFu-skq.js";var me=q({"../../node_modules/color-name/index.js"(n,o){o.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}}),Z=q({"../../node_modules/color-convert/conversions.js"(n,o){var c=me(),h={};for(let e of Object.keys(c))h[c[e]]=e;var i={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};o.exports=i;for(let e of Object.keys(i)){if(!("channels"in i[e]))throw new Error("missing channels property: "+e);if(!("labels"in i[e]))throw new Error("missing channel labels property: "+e);if(i[e].labels.length!==i[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=i[e];delete i[e].channels,delete i[e].labels,Object.defineProperty(i[e],"channels",{value:t}),Object.defineProperty(i[e],"labels",{value:r})}i.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255,l=Math.min(t,r,a),u=Math.max(t,r,a),s=u-l,f,g;u===l?f=0:t===u?f=(r-a)/s:r===u?f=2+(a-t)/s:a===u&&(f=4+(t-r)/s),f=Math.min(f*60,360),f<0&&(f+=360);let b=(l+u)/2;return u===l?g=0:b<=.5?g=s/(u+l):g=s/(2-u-l),[f,g*100,b*100]},i.rgb.hsv=function(e){let t,r,a,l,u,s=e[0]/255,f=e[1]/255,g=e[2]/255,b=Math.max(s,f,g),y=b-Math.min(s,f,g),v=function(w){return(b-w)/6/y+1/2};return y===0?(l=0,u=0):(u=y/b,t=v(s),r=v(f),a=v(g),s===b?l=a-r:f===b?l=1/3+t-a:g===b&&(l=2/3+r-t),l<0?l+=1:l>1&&(l-=1)),[l*360,u*100,b*100]},i.rgb.hwb=function(e){let t=e[0],r=e[1],a=e[2],l=i.rgb.hsl(e)[0],u=1/255*Math.min(t,Math.min(r,a));return a=1-1/255*Math.max(t,Math.max(r,a)),[l,u*100,a*100]},i.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255,l=Math.min(1-t,1-r,1-a),u=(1-t-l)/(1-l)||0,s=(1-r-l)/(1-l)||0,f=(1-a-l)/(1-l)||0;return[u*100,s*100,f*100,l*100]};function d(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}i.rgb.keyword=function(e){let t=h[e];if(t)return t;let r=1/0,a;for(let l of Object.keys(c)){let u=c[l],s=d(e,u);s<r&&(r=s,a=l)}return a},i.keyword.rgb=function(e){return c[e]},i.rgb.xyz=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;let l=t*.4124+r*.3576+a*.1805,u=t*.2126+r*.7152+a*.0722,s=t*.0193+r*.1192+a*.9505;return[l*100,u*100,s*100]},i.rgb.lab=function(e){let t=i.rgb.xyz(e),r=t[0],a=t[1],l=t[2];r/=95.047,a/=100,l/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,l=l>.008856?l**(1/3):7.787*l+16/116;let u=116*a-16,s=500*(r-a),f=200*(a-l);return[u,s,f]},i.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,a=e[2]/100,l,u,s;if(r===0)return s=a*255,[s,s,s];a<.5?l=a*(1+r):l=a+r-a*r;let f=2*a-l,g=[0,0,0];for(let b=0;b<3;b++)u=t+1/3*-(b-1),u<0&&u++,u>1&&u--,6*u<1?s=f+(l-f)*6*u:2*u<1?s=l:3*u<2?s=f+(l-f)*(2/3-u)*6:s=f,g[b]=s*255;return g},i.hsl.hsv=function(e){let t=e[0],r=e[1]/100,a=e[2]/100,l=r,u=Math.max(a,.01);a*=2,r*=a<=1?a:2-a,l*=u<=1?u:2-u;let s=(a+r)/2,f=a===0?2*l/(u+l):2*r/(a+r);return[t,f*100,s*100]},i.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,a=e[2]/100,l=Math.floor(t)%6,u=t-Math.floor(t),s=255*a*(1-r),f=255*a*(1-r*u),g=255*a*(1-r*(1-u));switch(a*=255,l){case 0:return[a,g,s];case 1:return[f,a,s];case 2:return[s,a,g];case 3:return[s,f,a];case 4:return[g,s,a];case 5:return[a,s,f]}},i.hsv.hsl=function(e){let t=e[0],r=e[1]/100,a=e[2]/100,l=Math.max(a,.01),u,s;s=(2-r)*a;let f=(2-r)*l;return u=r*l,u/=f<=1?f:2-f,u=u||0,s/=2,[t,u*100,s*100]},i.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,a=e[2]/100,l=r+a,u;l>1&&(r/=l,a/=l);let s=Math.floor(6*t),f=1-a;u=6*t-s,(s&1)!==0&&(u=1-u);let g=r+u*(f-r),b,y,v;switch(s){default:case 6:case 0:b=f,y=g,v=r;break;case 1:b=g,y=f,v=r;break;case 2:b=r,y=f,v=g;break;case 3:b=r,y=g,v=f;break;case 4:b=g,y=r,v=f;break;case 5:b=f,y=r,v=g;break}return[b*255,y*255,v*255]},i.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,a=e[2]/100,l=e[3]/100,u=1-Math.min(1,t*(1-l)+l),s=1-Math.min(1,r*(1-l)+l),f=1-Math.min(1,a*(1-l)+l);return[u*255,s*255,f*255]},i.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,a=e[2]/100,l,u,s;return l=t*3.2406+r*-1.5372+a*-.4986,u=t*-.9689+r*1.8758+a*.0415,s=t*.0557+r*-.204+a*1.057,l=l>.0031308?1.055*l**(1/2.4)-.055:l*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,l=Math.min(Math.max(0,l),1),u=Math.min(Math.max(0,u),1),s=Math.min(Math.max(0,s),1),[l*255,u*255,s*255]},i.xyz.lab=function(e){let t=e[0],r=e[1],a=e[2];t/=95.047,r/=100,a/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let l=116*r-16,u=500*(t-r),s=200*(r-a);return[l,u,s]},i.lab.xyz=function(e){let t=e[0],r=e[1],a=e[2],l,u,s;u=(t+16)/116,l=r/500+u,s=u-a/200;let f=u**3,g=l**3,b=s**3;return u=f>.008856?f:(u-16/116)/7.787,l=g>.008856?g:(l-16/116)/7.787,s=b>.008856?b:(s-16/116)/7.787,l*=95.047,u*=100,s*=108.883,[l,u,s]},i.lab.lch=function(e){let t=e[0],r=e[1],a=e[2],l;l=Math.atan2(a,r)*360/2/Math.PI,l<0&&(l+=360);let u=Math.sqrt(r*r+a*a);return[t,u,l]},i.lch.lab=function(e){let t=e[0],r=e[1],a=e[2]/360*2*Math.PI,l=r*Math.cos(a),u=r*Math.sin(a);return[t,l,u]},i.rgb.ansi16=function(e,t=null){let[r,a,l]=e,u=t===null?i.rgb.hsv(e)[2]:t;if(u=Math.round(u/50),u===0)return 30;let s=30+(Math.round(l/255)<<2|Math.round(a/255)<<1|Math.round(r/255));return u===2&&(s+=60),s},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){let t=e[0],r=e[1],a=e[2];return t===r&&r===a?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(a/255*5)},i.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(~~(e>50)+1)*.5,a=(t&1)*r*255,l=(t>>1&1)*r*255,u=(t>>2&1)*r*255;return[a,l,u]},i.ansi256.rgb=function(e){if(e>=232){let u=(e-232)*10+8;return[u,u,u]}e-=16;let t,r=Math.floor(e/36)/5*255,a=Math.floor((t=e%36)/6)/5*255,l=t%6/5*255;return[r,a,l]},i.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t},i.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(f=>f+f).join(""));let a=parseInt(r,16),l=a>>16&255,u=a>>8&255,s=a&255;return[l,u,s]},i.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255,l=Math.max(Math.max(t,r),a),u=Math.min(Math.min(t,r),a),s=l-u,f,g;return s<1?f=u/(1-s):f=0,s<=0?g=0:l===t?g=(r-a)/s%6:l===r?g=2+(a-t)/s:g=4+(t-r)/s,g/=6,g%=1,[g*360,s*100,f*100]},i.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,a=r<.5?2*t*r:2*t*(1-r),l=0;return a<1&&(l=(r-.5*a)/(1-a)),[e[0],a*100,l*100]},i.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,a=t*r,l=0;return a<1&&(l=(r-a)/(1-a)),[e[0],a*100,l*100]},i.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,a=e[2]/100;if(r===0)return[a*255,a*255,a*255];let l=[0,0,0],u=t%1*6,s=u%1,f=1-s,g=0;switch(Math.floor(u)){case 0:l[0]=1,l[1]=s,l[2]=0;break;case 1:l[0]=f,l[1]=1,l[2]=0;break;case 2:l[0]=0,l[1]=1,l[2]=s;break;case 3:l[0]=0,l[1]=f,l[2]=1;break;case 4:l[0]=s,l[1]=0,l[2]=1;break;default:l[0]=1,l[1]=0,l[2]=f}return g=(1-r)*a,[(r*l[0]+g)*255,(r*l[1]+g)*255,(r*l[2]+g)*255]},i.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,a=t+r*(1-t),l=0;return a>0&&(l=t/a),[e[0],l*100,a*100]},i.hcg.hsl=function(e){let t=e[1]/100,r=e[2]/100*(1-t)+.5*t,a=0;return r>0&&r<.5?a=t/(2*r):r>=.5&&r<1&&(a=t/(2*(1-r))),[e[0],a*100,r*100]},i.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,a=t+r*(1-t);return[e[0],(a-t)*100,(1-a)*100]},i.hwb.hcg=function(e){let t=e[1]/100,r=1-e[2]/100,a=r-t,l=0;return a<1&&(l=(r-a)/(1-a)),[e[0],a*100,l*100]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=function(e){return[0,0,e[0]]},i.gray.hsv=i.gray.hsl,i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}}),ve=q({"../../node_modules/color-convert/route.js"(n,o){var c=Z();function h(){let t={},r=Object.keys(c);for(let a=r.length,l=0;l<a;l++)t[r[l]]={distance:-1,parent:null};return t}function i(t){let r=h(),a=[t];for(r[t].distance=0;a.length;){let l=a.pop(),u=Object.keys(c[l]);for(let s=u.length,f=0;f<s;f++){let g=u[f],b=r[g];b.distance===-1&&(b.distance=r[l].distance+1,b.parent=l,a.unshift(g))}}return r}function d(t,r){return function(a){return r(t(a))}}function e(t,r){let a=[r[t].parent,t],l=c[r[t].parent][t],u=r[t].parent;for(;r[u].parent;)a.unshift(r[u].parent),l=d(c[r[u].parent][u],l),u=r[u].parent;return l.conversion=a,l}o.exports=function(t){let r=i(t),a={},l=Object.keys(r);for(let u=l.length,s=0;s<u;s++){let f=l[s];r[f].parent!==null&&(a[f]=e(f,r))}return a}}}),pe=q({"../../node_modules/color-convert/index.js"(n,o){var c=Z(),h=ve(),i={},d=Object.keys(c);function e(r){let a=function(...l){let u=l[0];return u==null?u:(u.length>1&&(l=u),r(l))};return"conversion"in r&&(a.conversion=r.conversion),a}function t(r){let a=function(...l){let u=l[0];if(u==null)return u;u.length>1&&(l=u);let s=r(l);if(typeof s=="object")for(let f=s.length,g=0;g<f;g++)s[g]=Math.round(s[g]);return s};return"conversion"in r&&(a.conversion=r.conversion),a}d.forEach(r=>{i[r]={},Object.defineProperty(i[r],"channels",{value:c[r].channels}),Object.defineProperty(i[r],"labels",{value:c[r].labels});let a=h(r);Object.keys(a).forEach(l=>{let u=a[l];i[r][l]=t(u),i[r][l].raw=e(u)})}),o.exports=i}}),_=be(pe());function C(){return(C=Object.assign||function(n){for(var o=1;o<arguments.length;o++){var c=arguments[o];for(var h in c)Object.prototype.hasOwnProperty.call(c,h)&&(n[h]=c[h])}return n}).apply(this,arguments)}function V(n,o){if(n==null)return{};var c,h,i={},d=Object.keys(n);for(h=0;h<d.length;h++)o.indexOf(c=d[h])>=0||(i[c]=n[c]);return i}function L(n){var o=p.useRef(n),c=p.useRef(function(h){o.current&&o.current(h)});return o.current=n,c.current}var O=function(n,o,c){return o===void 0&&(o=0),c===void 0&&(c=1),n>c?c:n<o?o:n},S=function(n){return"touches"in n},B=function(n){return n&&n.ownerDocument.defaultView||self},T=function(n,o,c){var h=n.getBoundingClientRect(),i=S(o)?(function(d,e){for(var t=0;t<d.length;t++)if(d[t].identifier===e)return d[t];return d[0]})(o.touches,c):o;return{left:O((i.pageX-(h.left+B(n).pageXOffset))/h.width),top:O((i.pageY-(h.top+B(n).pageYOffset))/h.height)}},W=function(n){!S(n)&&n.preventDefault()},G=m.memo(function(n){var o=n.onMove,c=n.onKey,h=V(n,["onMove","onKey"]),i=p.useRef(null),d=L(o),e=L(c),t=p.useRef(null),r=p.useRef(!1),a=p.useMemo(function(){var f=function(y){W(y),(S(y)?y.touches.length>0:y.buttons>0)&&i.current?d(T(i.current,y,t.current)):b(!1)},g=function(){return b(!1)};function b(y){var v=r.current,w=B(i.current),E=y?w.addEventListener:w.removeEventListener;E(v?"touchmove":"mousemove",f),E(v?"touchend":"mouseup",g)}return[function(y){var v=y.nativeEvent,w=i.current;if(w&&(W(v),!(function(k,P){return P&&!S(k)})(v,r.current)&&w)){if(S(v)){r.current=!0;var E=v.changedTouches||[];E.length&&(t.current=E[0].identifier)}w.focus(),d(T(w,v,t.current)),b(!0)}},function(y){var v=y.which||y.keyCode;v<37||v>40||(y.preventDefault(),e({left:v===39?.05:v===37?-.05:0,top:v===40?.05:v===38?-.05:0}))},b]},[e,d]),l=a[0],u=a[1],s=a[2];return p.useEffect(function(){return s},[s]),m.createElement("div",C({},h,{onTouchStart:l,onMouseDown:l,className:"react-colorful__interactive",ref:i,onKeyDown:u,tabIndex:0,role:"slider"}))}),N=function(n){return n.filter(Boolean).join(" ")},F=function(n){var o=n.color,c=n.left,h=n.top,i=h===void 0?.5:h,d=N(["react-colorful__pointer",n.className]);return m.createElement("div",{className:d,style:{top:100*i+"%",left:100*c+"%"}},m.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:o}}))},x=function(n,o,c){return o===void 0&&(o=0),c===void 0&&(c=Math.pow(10,o)),Math.round(c*n)/c},ye={grad:.9,turn:360,rad:360/(2*Math.PI)},xe=function(n){return re(X(n))},X=function(n){return n[0]==="#"&&(n=n.substring(1)),n.length<6?{r:parseInt(n[0]+n[0],16),g:parseInt(n[1]+n[1],16),b:parseInt(n[2]+n[2],16),a:n.length===4?x(parseInt(n[3]+n[3],16)/255,2):1}:{r:parseInt(n.substring(0,2),16),g:parseInt(n.substring(2,4),16),b:parseInt(n.substring(4,6),16),a:n.length===8?x(parseInt(n.substring(6,8),16)/255,2):1}},we=function(n,o){return o===void 0&&(o="deg"),Number(n)*(ye[o]||1)},ke=function(n){var o=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(n);return o?_e({h:we(o[1],o[2]),s:Number(o[3]),l:Number(o[4]),a:o[5]===void 0?1:Number(o[5])/(o[6]?100:1)}):{h:0,s:0,v:0,a:1}},_e=function(n){var o=n.s,c=n.l;return{h:n.h,s:(o*=(c<50?c:100-c)/100)>0?2*o/(c+o)*100:0,v:c+o,a:n.a}},Ee=function(n){return Ce(ee(n))},J=function(n){var o=n.s,c=n.v,h=n.a,i=(200-o)*c/100;return{h:x(n.h),s:x(i>0&&i<200?o*c/100/(i<=100?i:200-i)*100:0),l:x(i/2),a:x(h,2)}},K=function(n){var o=J(n);return"hsl("+o.h+", "+o.s+"%, "+o.l+"%)"},I=function(n){var o=J(n);return"hsla("+o.h+", "+o.s+"%, "+o.l+"%, "+o.a+")"},ee=function(n){var o=n.h,c=n.s,h=n.v,i=n.a;o=o/360*6,c/=100,h/=100;var d=Math.floor(o),e=h*(1-c),t=h*(1-(o-d)*c),r=h*(1-(1-o+d)*c),a=d%6;return{r:x(255*[h,t,e,e,r,h][a]),g:x(255*[r,h,h,t,e,e][a]),b:x(255*[e,e,r,h,h,t][a]),a:x(i,2)}},Me=function(n){var o=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(n);return o?re({r:Number(o[1])/(o[2]?100/255:1),g:Number(o[3])/(o[4]?100/255:1),b:Number(o[5])/(o[6]?100/255:1),a:o[7]===void 0?1:Number(o[7])/(o[8]?100:1)}):{h:0,s:0,v:0,a:1}},j=function(n){var o=n.toString(16);return o.length<2?"0"+o:o},Ce=function(n){var o=n.r,c=n.g,h=n.b,i=n.a,d=i<1?j(x(255*i)):"";return"#"+j(o)+j(c)+j(h)+d},re=function(n){var o=n.r,c=n.g,h=n.b,i=n.a,d=Math.max(o,c,h),e=d-Math.min(o,c,h),t=e?d===o?(c-h)/e:d===c?2+(h-o)/e:4+(o-c)/e:0;return{h:x(60*(t<0?t+6:t)),s:x(d?e/d*100:0),v:x(d/255*100),a:i}},te=m.memo(function(n){var o=n.hue,c=n.onChange,h=N(["react-colorful__hue",n.className]);return m.createElement("div",{className:h},m.createElement(G,{onMove:function(i){c({h:360*i.left})},onKey:function(i){c({h:O(o+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":x(o),"aria-valuemax":"360","aria-valuemin":"0"},m.createElement(F,{className:"react-colorful__hue-pointer",left:o/360,color:K({h:o,s:100,v:100,a:1})})))}),ne=m.memo(function(n){var o=n.hsva,c=n.onChange,h={backgroundColor:K({h:o.h,s:100,v:100,a:1})};return m.createElement("div",{className:"react-colorful__saturation",style:h},m.createElement(G,{onMove:function(i){c({s:100*i.left,v:100-100*i.top})},onKey:function(i){c({s:O(o.s+100*i.left,0,100),v:O(o.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+x(o.s)+"%, Brightness "+x(o.v)+"%"},m.createElement(F,{className:"react-colorful__saturation-pointer",top:1-o.v/100,left:o.s/100,color:K(o)})))}),ae=function(n,o){if(n===o)return!0;for(var c in n)if(n[c]!==o[c])return!1;return!0},le=function(n,o){return n.replace(/\s/g,"")===o.replace(/\s/g,"")},$e=function(n,o){return n.toLowerCase()===o.toLowerCase()||ae(X(n),X(o))};function oe(n,o,c){var h=L(c),i=p.useState(function(){return n.toHsva(o)}),d=i[0],e=i[1],t=p.useRef({color:o,hsva:d});p.useEffect(function(){if(!n.equal(o,t.current.color)){var a=n.toHsva(o);t.current={hsva:a,color:o},e(a)}},[o,n]),p.useEffect(function(){var a;ae(d,t.current.hsva)||n.equal(a=n.fromHsva(d),t.current.color)||(t.current={hsva:d,color:a},h(a))},[d,n,h]);var r=p.useCallback(function(a){e(function(l){return Object.assign({},l,a)})},[]);return[d,r]}var Oe=typeof window<"u"?p.useLayoutEffect:p.useEffect,Se=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},A=new Map,ue=function(n){Oe(function(){var o=n.current?n.current.ownerDocument:document;if(o!==void 0&&!A.has(o)){var c=o.createElement("style");c.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,A.set(o,c);var h=Se();h&&c.setAttribute("nonce",h),o.head.appendChild(c)}},[])},Ne=function(n){var o=n.className,c=n.colorModel,h=n.color,i=h===void 0?c.defaultColor:h,d=n.onChange,e=V(n,["className","colorModel","color","onChange"]),t=p.useRef(null);ue(t);var r=oe(c,i,d),a=r[0],l=r[1],u=N(["react-colorful",o]);return m.createElement("div",C({},e,{ref:t,className:u}),m.createElement(ne,{hsva:a,onChange:l}),m.createElement(te,{hue:a.h,onChange:l,className:"react-colorful__last-control"}))},je={defaultColor:"000",toHsva:xe,fromHsva:function(n){return Ee({h:n.h,s:n.s,v:n.v,a:1})},equal:$e},Re=function(n){return m.createElement(Ne,C({},n,{colorModel:je}))},ze=function(n){var o=n.className,c=n.hsva,h=n.onChange,i={backgroundImage:"linear-gradient(90deg, "+I(Object.assign({},c,{a:0}))+", "+I(Object.assign({},c,{a:1}))+")"},d=N(["react-colorful__alpha",o]),e=x(100*c.a);return m.createElement("div",{className:d},m.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),m.createElement(G,{onMove:function(t){h({a:t.left})},onKey:function(t){h({a:O(c.a+t.left)})},"aria-label":"Alpha","aria-valuetext":e+"%","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"100"},m.createElement(F,{className:"react-colorful__alpha-pointer",left:c.a,color:I(c)})))},ie=function(n){var o=n.className,c=n.colorModel,h=n.color,i=h===void 0?c.defaultColor:h,d=n.onChange,e=V(n,["className","colorModel","color","onChange"]),t=p.useRef(null);ue(t);var r=oe(c,i,d),a=r[0],l=r[1],u=N(["react-colorful",o]);return m.createElement("div",C({},e,{ref:t,className:u}),m.createElement(ne,{hsva:a,onChange:l}),m.createElement(te,{hue:a.h,onChange:l}),m.createElement(ze,{hsva:a,onChange:l,className:"react-colorful__last-control"}))},Ie={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:ke,fromHsva:I,equal:le},He=function(n){return m.createElement(ie,C({},n,{colorModel:Ie}))},qe={defaultColor:"rgba(0, 0, 0, 1)",toHsva:Me,fromHsva:function(n){var o=ee(n);return"rgba("+o.r+", "+o.g+", "+o.b+", "+o.a+")"},equal:le},Pe=function(n){return m.createElement(ie,C({},n,{colorModel:qe}))},Le=M.div({position:"relative",maxWidth:250,'&[aria-readonly="true"]':{opacity:.5}}),Be=M(Y)({position:"absolute",zIndex:1,top:4,left:4,"[aria-readonly=true] &":{cursor:"not-allowed"}}),Xe=M.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),Ke=M(fe)(({theme:n})=>({fontFamily:n.typography.fonts.base})),De=M.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),Ve=M.div(({theme:n,active:o})=>({width:16,height:16,boxShadow:o?`${n.appBorderColor} 0 0 0 1px inset, ${n.textMutedColor}50 0 0 0 4px`:`${n.appBorderColor} 0 0 0 1px inset`,borderRadius:n.appBorderRadius})),Ge=`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,Q=({value:n,style:o,...c})=>{let h=`linear-gradient(${n}, ${n}), ${Ge}, linear-gradient(#fff, #fff)`;return m.createElement(Ve,{...c,style:{...o,backgroundImage:h}})},Fe=M(de.Input)(({theme:n,readOnly:o})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:n.typography.fonts.base})),Te=M(ge)(({theme:n})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:n.input.color})),se=(n=>(n.RGB="rgb",n.HSL="hsl",n.HEX="hex",n))(se||{}),R=Object.values(se),We=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,Ae=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,Qe=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,D=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,Ue=/^\s*#?([0-9a-f]{3})\s*$/i,Ye={hex:Re,rgb:Pe,hsl:He},z={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},U=n=>{let o=n==null?void 0:n.match(We);if(!o)return[0,0,0,1];let[,c,h,i,d=1]=o;return[c,h,i,d].map(Number)},$=n=>{if(!n)return;let o=!0;if(Ae.test(n)){let[e,t,r,a]=U(n),[l,u,s]=_.default.rgb.hsl([e,t,r])||[0,0,0];return{valid:o,value:n,keyword:_.default.rgb.keyword([e,t,r]),colorSpace:"rgb",rgb:n,hsl:`hsla(${l}, ${u}%, ${s}%, ${a})`,hex:`#${_.default.rgb.hex([e,t,r]).toLowerCase()}`}}if(Qe.test(n)){let[e,t,r,a]=U(n),[l,u,s]=_.default.hsl.rgb([e,t,r])||[0,0,0];return{valid:o,value:n,keyword:_.default.hsl.keyword([e,t,r]),colorSpace:"hsl",rgb:`rgba(${l}, ${u}, ${s}, ${a})`,hsl:n,hex:`#${_.default.hsl.hex([e,t,r]).toLowerCase()}`}}let c=n.replace("#",""),h=_.default.keyword.rgb(c)||_.default.hex.rgb(c),i=_.default.rgb.hsl(h),d=n;if(/[^#a-f0-9]/i.test(n)?d=c:D.test(n)&&(d=`#${c}`),d.startsWith("#"))o=D.test(d);else try{_.default.keyword.hex(d)}catch{o=!1}return{valid:o,value:d,keyword:_.default.rgb.keyword(h),colorSpace:"hex",rgb:`rgba(${h[0]}, ${h[1]}, ${h[2]}, 1)`,hsl:`hsla(${i[0]}, ${i[1]}%, ${i[2]}%, 1)`,hex:d}},Ze=(n,o,c)=>{if(!n||!(o!=null&&o.valid))return z[c];if(c!=="hex")return(o==null?void 0:o[c])||z[c];if(!o.hex.startsWith("#"))try{return`#${_.default.keyword.hex(o.hex)}`}catch{return z.hex}let h=o.hex.match(Ue);if(!h)return D.test(o.hex)?o.hex:z.hex;let[i,d,e]=h[1].split("");return`#${i}${i}${d}${d}${e}${e}`},Je=(n,o)=>{let[c,h]=p.useState(n||""),[i,d]=p.useState(()=>$(c)),[e,t]=p.useState((i==null?void 0:i.colorSpace)||"hex");p.useEffect(()=>{let u=n||"",s=$(u);h(u),d(s),t((s==null?void 0:s.colorSpace)||"hex")},[n]);let r=p.useMemo(()=>Ze(c,i,e).toLowerCase(),[c,i,e]),a=p.useCallback(u=>{let s=$(u),f=(s==null?void 0:s.value)||u||"";h(f),f===""&&(d(void 0),o(void 0)),s&&(d(s),t(s.colorSpace),o(s.value))},[o]),l=p.useCallback(()=>{let u=R.indexOf(e)+1;u>=R.length&&(u=0),t(R[u]);let s=(i==null?void 0:i[R[u]])||"";h(s),o(s)},[i,e,o]);return{value:c,realValue:r,updateValue:a,color:i,colorSpace:e,cycleColorSpace:l}},H=n=>n.replace(/\s*/,"").toLowerCase(),er=(n,o,c)=>{let[h,i]=p.useState(o!=null&&o.valid?[o]:[]);p.useEffect(()=>{o===void 0&&i([])},[o]);let d=p.useMemo(()=>(n||[]).map(t=>typeof t=="string"?$(t):t.title?{...$(t.color),keyword:t.title}:$(t.color)).concat(h).filter(Boolean).slice(-27),[n,h]),e=p.useCallback(t=>{t!=null&&t.valid&&(d.some(r=>H(r[c])===H(t[c]))||i(r=>r.concat(t)))},[c,d]);return{presets:d,addPreset:e}},rr=({name:n,value:o,onChange:c,onFocus:h,onBlur:i,presetColors:d,startOpen:e=!1,argType:t})=>{var E;let r=p.useCallback(ce(c,200),[c]),{value:a,realValue:l,updateValue:u,color:s,colorSpace:f,cycleColorSpace:g}=Je(o,r),{presets:b,addPreset:y}=er(d,s,f),v=Ye[f],w=!!((E=t==null?void 0:t.table)!=null&&E.readonly);return m.createElement(Le,{"aria-readonly":w},m.createElement(Be,{startOpen:e,trigger:w?[null]:void 0,closeOnOutsideClick:!0,onVisibleChange:()=>y(s),tooltip:m.createElement(Xe,null,m.createElement(v,{color:l==="transparent"?"#000000":l,onChange:u,onFocus:h,onBlur:i}),b.length>0&&m.createElement(De,null,b.map((k,P)=>m.createElement(Y,{key:`${k.value}-${P}`,hasChrome:!1,tooltip:m.createElement(Ke,{note:k.keyword||k.value})},m.createElement(Q,{value:k[f],active:s&&H(k[f])===H(s[f]),onClick:()=>u(k.value)})))))},m.createElement(Q,{value:l,style:{margin:4}})),m.createElement(Fe,{id:he(n),value:a,onChange:k=>u(k.target.value),onFocus:k=>k.target.select(),readOnly:w,placeholder:"Choose color..."}),a?m.createElement(Te,{onClick:g}):null)},hr=rr;export{rr as ColorControl,hr as default};
|
|
1
|
+
import{d as ce,Z as Y,g as he,v as M,s as fe,Q as de,M as ge,_ as be,a as q}from"./index-DVR_O3uO.js";import{r as p,R as m}from"./index-Dmy2JGbm.js";import"./iframe-Ci_IjEPD.js";import"./jsx-runtime-BTJTZTIL.js";import"./index-ChsGqxH_.js";import"./index-CT3U1fyk.js";import"./index-BRq5TIsn.js";import"./index-DgH-xKnr.js";import"./index-DrFu-skq.js";var me=q({"../../node_modules/color-name/index.js"(n,o){o.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}}),Z=q({"../../node_modules/color-convert/conversions.js"(n,o){var c=me(),h={};for(let e of Object.keys(c))h[c[e]]=e;var i={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};o.exports=i;for(let e of Object.keys(i)){if(!("channels"in i[e]))throw new Error("missing channels property: "+e);if(!("labels"in i[e]))throw new Error("missing channel labels property: "+e);if(i[e].labels.length!==i[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=i[e];delete i[e].channels,delete i[e].labels,Object.defineProperty(i[e],"channels",{value:t}),Object.defineProperty(i[e],"labels",{value:r})}i.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255,l=Math.min(t,r,a),u=Math.max(t,r,a),s=u-l,f,g;u===l?f=0:t===u?f=(r-a)/s:r===u?f=2+(a-t)/s:a===u&&(f=4+(t-r)/s),f=Math.min(f*60,360),f<0&&(f+=360);let b=(l+u)/2;return u===l?g=0:b<=.5?g=s/(u+l):g=s/(2-u-l),[f,g*100,b*100]},i.rgb.hsv=function(e){let t,r,a,l,u,s=e[0]/255,f=e[1]/255,g=e[2]/255,b=Math.max(s,f,g),y=b-Math.min(s,f,g),v=function(w){return(b-w)/6/y+1/2};return y===0?(l=0,u=0):(u=y/b,t=v(s),r=v(f),a=v(g),s===b?l=a-r:f===b?l=1/3+t-a:g===b&&(l=2/3+r-t),l<0?l+=1:l>1&&(l-=1)),[l*360,u*100,b*100]},i.rgb.hwb=function(e){let t=e[0],r=e[1],a=e[2],l=i.rgb.hsl(e)[0],u=1/255*Math.min(t,Math.min(r,a));return a=1-1/255*Math.max(t,Math.max(r,a)),[l,u*100,a*100]},i.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255,l=Math.min(1-t,1-r,1-a),u=(1-t-l)/(1-l)||0,s=(1-r-l)/(1-l)||0,f=(1-a-l)/(1-l)||0;return[u*100,s*100,f*100,l*100]};function d(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}i.rgb.keyword=function(e){let t=h[e];if(t)return t;let r=1/0,a;for(let l of Object.keys(c)){let u=c[l],s=d(e,u);s<r&&(r=s,a=l)}return a},i.keyword.rgb=function(e){return c[e]},i.rgb.xyz=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92;let l=t*.4124+r*.3576+a*.1805,u=t*.2126+r*.7152+a*.0722,s=t*.0193+r*.1192+a*.9505;return[l*100,u*100,s*100]},i.rgb.lab=function(e){let t=i.rgb.xyz(e),r=t[0],a=t[1],l=t[2];r/=95.047,a/=100,l/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,l=l>.008856?l**(1/3):7.787*l+16/116;let u=116*a-16,s=500*(r-a),f=200*(a-l);return[u,s,f]},i.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,a=e[2]/100,l,u,s;if(r===0)return s=a*255,[s,s,s];a<.5?l=a*(1+r):l=a+r-a*r;let f=2*a-l,g=[0,0,0];for(let b=0;b<3;b++)u=t+1/3*-(b-1),u<0&&u++,u>1&&u--,6*u<1?s=f+(l-f)*6*u:2*u<1?s=l:3*u<2?s=f+(l-f)*(2/3-u)*6:s=f,g[b]=s*255;return g},i.hsl.hsv=function(e){let t=e[0],r=e[1]/100,a=e[2]/100,l=r,u=Math.max(a,.01);a*=2,r*=a<=1?a:2-a,l*=u<=1?u:2-u;let s=(a+r)/2,f=a===0?2*l/(u+l):2*r/(a+r);return[t,f*100,s*100]},i.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,a=e[2]/100,l=Math.floor(t)%6,u=t-Math.floor(t),s=255*a*(1-r),f=255*a*(1-r*u),g=255*a*(1-r*(1-u));switch(a*=255,l){case 0:return[a,g,s];case 1:return[f,a,s];case 2:return[s,a,g];case 3:return[s,f,a];case 4:return[g,s,a];case 5:return[a,s,f]}},i.hsv.hsl=function(e){let t=e[0],r=e[1]/100,a=e[2]/100,l=Math.max(a,.01),u,s;s=(2-r)*a;let f=(2-r)*l;return u=r*l,u/=f<=1?f:2-f,u=u||0,s/=2,[t,u*100,s*100]},i.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,a=e[2]/100,l=r+a,u;l>1&&(r/=l,a/=l);let s=Math.floor(6*t),f=1-a;u=6*t-s,(s&1)!==0&&(u=1-u);let g=r+u*(f-r),b,y,v;switch(s){default:case 6:case 0:b=f,y=g,v=r;break;case 1:b=g,y=f,v=r;break;case 2:b=r,y=f,v=g;break;case 3:b=r,y=g,v=f;break;case 4:b=g,y=r,v=f;break;case 5:b=f,y=r,v=g;break}return[b*255,y*255,v*255]},i.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,a=e[2]/100,l=e[3]/100,u=1-Math.min(1,t*(1-l)+l),s=1-Math.min(1,r*(1-l)+l),f=1-Math.min(1,a*(1-l)+l);return[u*255,s*255,f*255]},i.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,a=e[2]/100,l,u,s;return l=t*3.2406+r*-1.5372+a*-.4986,u=t*-.9689+r*1.8758+a*.0415,s=t*.0557+r*-.204+a*1.057,l=l>.0031308?1.055*l**(1/2.4)-.055:l*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,l=Math.min(Math.max(0,l),1),u=Math.min(Math.max(0,u),1),s=Math.min(Math.max(0,s),1),[l*255,u*255,s*255]},i.xyz.lab=function(e){let t=e[0],r=e[1],a=e[2];t/=95.047,r/=100,a/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let l=116*r-16,u=500*(t-r),s=200*(r-a);return[l,u,s]},i.lab.xyz=function(e){let t=e[0],r=e[1],a=e[2],l,u,s;u=(t+16)/116,l=r/500+u,s=u-a/200;let f=u**3,g=l**3,b=s**3;return u=f>.008856?f:(u-16/116)/7.787,l=g>.008856?g:(l-16/116)/7.787,s=b>.008856?b:(s-16/116)/7.787,l*=95.047,u*=100,s*=108.883,[l,u,s]},i.lab.lch=function(e){let t=e[0],r=e[1],a=e[2],l;l=Math.atan2(a,r)*360/2/Math.PI,l<0&&(l+=360);let u=Math.sqrt(r*r+a*a);return[t,u,l]},i.lch.lab=function(e){let t=e[0],r=e[1],a=e[2]/360*2*Math.PI,l=r*Math.cos(a),u=r*Math.sin(a);return[t,l,u]},i.rgb.ansi16=function(e,t=null){let[r,a,l]=e,u=t===null?i.rgb.hsv(e)[2]:t;if(u=Math.round(u/50),u===0)return 30;let s=30+(Math.round(l/255)<<2|Math.round(a/255)<<1|Math.round(r/255));return u===2&&(s+=60),s},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){let t=e[0],r=e[1],a=e[2];return t===r&&r===a?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(a/255*5)},i.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(~~(e>50)+1)*.5,a=(t&1)*r*255,l=(t>>1&1)*r*255,u=(t>>2&1)*r*255;return[a,l,u]},i.ansi256.rgb=function(e){if(e>=232){let u=(e-232)*10+8;return[u,u,u]}e-=16;let t,r=Math.floor(e/36)/5*255,a=Math.floor((t=e%36)/6)/5*255,l=t%6/5*255;return[r,a,l]},i.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t},i.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(f=>f+f).join(""));let a=parseInt(r,16),l=a>>16&255,u=a>>8&255,s=a&255;return[l,u,s]},i.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,a=e[2]/255,l=Math.max(Math.max(t,r),a),u=Math.min(Math.min(t,r),a),s=l-u,f,g;return s<1?f=u/(1-s):f=0,s<=0?g=0:l===t?g=(r-a)/s%6:l===r?g=2+(a-t)/s:g=4+(t-r)/s,g/=6,g%=1,[g*360,s*100,f*100]},i.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,a=r<.5?2*t*r:2*t*(1-r),l=0;return a<1&&(l=(r-.5*a)/(1-a)),[e[0],a*100,l*100]},i.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,a=t*r,l=0;return a<1&&(l=(r-a)/(1-a)),[e[0],a*100,l*100]},i.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,a=e[2]/100;if(r===0)return[a*255,a*255,a*255];let l=[0,0,0],u=t%1*6,s=u%1,f=1-s,g=0;switch(Math.floor(u)){case 0:l[0]=1,l[1]=s,l[2]=0;break;case 1:l[0]=f,l[1]=1,l[2]=0;break;case 2:l[0]=0,l[1]=1,l[2]=s;break;case 3:l[0]=0,l[1]=f,l[2]=1;break;case 4:l[0]=s,l[1]=0,l[2]=1;break;default:l[0]=1,l[1]=0,l[2]=f}return g=(1-r)*a,[(r*l[0]+g)*255,(r*l[1]+g)*255,(r*l[2]+g)*255]},i.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,a=t+r*(1-t),l=0;return a>0&&(l=t/a),[e[0],l*100,a*100]},i.hcg.hsl=function(e){let t=e[1]/100,r=e[2]/100*(1-t)+.5*t,a=0;return r>0&&r<.5?a=t/(2*r):r>=.5&&r<1&&(a=t/(2*(1-r))),[e[0],a*100,r*100]},i.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,a=t+r*(1-t);return[e[0],(a-t)*100,(1-a)*100]},i.hwb.hcg=function(e){let t=e[1]/100,r=1-e[2]/100,a=r-t,l=0;return a<1&&(l=(r-a)/(1-a)),[e[0],a*100,l*100]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=function(e){return[0,0,e[0]]},i.gray.hsv=i.gray.hsl,i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,r=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(r.length)+r},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}}),ve=q({"../../node_modules/color-convert/route.js"(n,o){var c=Z();function h(){let t={},r=Object.keys(c);for(let a=r.length,l=0;l<a;l++)t[r[l]]={distance:-1,parent:null};return t}function i(t){let r=h(),a=[t];for(r[t].distance=0;a.length;){let l=a.pop(),u=Object.keys(c[l]);for(let s=u.length,f=0;f<s;f++){let g=u[f],b=r[g];b.distance===-1&&(b.distance=r[l].distance+1,b.parent=l,a.unshift(g))}}return r}function d(t,r){return function(a){return r(t(a))}}function e(t,r){let a=[r[t].parent,t],l=c[r[t].parent][t],u=r[t].parent;for(;r[u].parent;)a.unshift(r[u].parent),l=d(c[r[u].parent][u],l),u=r[u].parent;return l.conversion=a,l}o.exports=function(t){let r=i(t),a={},l=Object.keys(r);for(let u=l.length,s=0;s<u;s++){let f=l[s];r[f].parent!==null&&(a[f]=e(f,r))}return a}}}),pe=q({"../../node_modules/color-convert/index.js"(n,o){var c=Z(),h=ve(),i={},d=Object.keys(c);function e(r){let a=function(...l){let u=l[0];return u==null?u:(u.length>1&&(l=u),r(l))};return"conversion"in r&&(a.conversion=r.conversion),a}function t(r){let a=function(...l){let u=l[0];if(u==null)return u;u.length>1&&(l=u);let s=r(l);if(typeof s=="object")for(let f=s.length,g=0;g<f;g++)s[g]=Math.round(s[g]);return s};return"conversion"in r&&(a.conversion=r.conversion),a}d.forEach(r=>{i[r]={},Object.defineProperty(i[r],"channels",{value:c[r].channels}),Object.defineProperty(i[r],"labels",{value:c[r].labels});let a=h(r);Object.keys(a).forEach(l=>{let u=a[l];i[r][l]=t(u),i[r][l].raw=e(u)})}),o.exports=i}}),_=be(pe());function C(){return(C=Object.assign||function(n){for(var o=1;o<arguments.length;o++){var c=arguments[o];for(var h in c)Object.prototype.hasOwnProperty.call(c,h)&&(n[h]=c[h])}return n}).apply(this,arguments)}function V(n,o){if(n==null)return{};var c,h,i={},d=Object.keys(n);for(h=0;h<d.length;h++)o.indexOf(c=d[h])>=0||(i[c]=n[c]);return i}function L(n){var o=p.useRef(n),c=p.useRef(function(h){o.current&&o.current(h)});return o.current=n,c.current}var O=function(n,o,c){return o===void 0&&(o=0),c===void 0&&(c=1),n>c?c:n<o?o:n},S=function(n){return"touches"in n},B=function(n){return n&&n.ownerDocument.defaultView||self},T=function(n,o,c){var h=n.getBoundingClientRect(),i=S(o)?(function(d,e){for(var t=0;t<d.length;t++)if(d[t].identifier===e)return d[t];return d[0]})(o.touches,c):o;return{left:O((i.pageX-(h.left+B(n).pageXOffset))/h.width),top:O((i.pageY-(h.top+B(n).pageYOffset))/h.height)}},W=function(n){!S(n)&&n.preventDefault()},G=m.memo(function(n){var o=n.onMove,c=n.onKey,h=V(n,["onMove","onKey"]),i=p.useRef(null),d=L(o),e=L(c),t=p.useRef(null),r=p.useRef(!1),a=p.useMemo(function(){var f=function(y){W(y),(S(y)?y.touches.length>0:y.buttons>0)&&i.current?d(T(i.current,y,t.current)):b(!1)},g=function(){return b(!1)};function b(y){var v=r.current,w=B(i.current),E=y?w.addEventListener:w.removeEventListener;E(v?"touchmove":"mousemove",f),E(v?"touchend":"mouseup",g)}return[function(y){var v=y.nativeEvent,w=i.current;if(w&&(W(v),!(function(k,P){return P&&!S(k)})(v,r.current)&&w)){if(S(v)){r.current=!0;var E=v.changedTouches||[];E.length&&(t.current=E[0].identifier)}w.focus(),d(T(w,v,t.current)),b(!0)}},function(y){var v=y.which||y.keyCode;v<37||v>40||(y.preventDefault(),e({left:v===39?.05:v===37?-.05:0,top:v===40?.05:v===38?-.05:0}))},b]},[e,d]),l=a[0],u=a[1],s=a[2];return p.useEffect(function(){return s},[s]),m.createElement("div",C({},h,{onTouchStart:l,onMouseDown:l,className:"react-colorful__interactive",ref:i,onKeyDown:u,tabIndex:0,role:"slider"}))}),N=function(n){return n.filter(Boolean).join(" ")},F=function(n){var o=n.color,c=n.left,h=n.top,i=h===void 0?.5:h,d=N(["react-colorful__pointer",n.className]);return m.createElement("div",{className:d,style:{top:100*i+"%",left:100*c+"%"}},m.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:o}}))},x=function(n,o,c){return o===void 0&&(o=0),c===void 0&&(c=Math.pow(10,o)),Math.round(c*n)/c},ye={grad:.9,turn:360,rad:360/(2*Math.PI)},xe=function(n){return re(X(n))},X=function(n){return n[0]==="#"&&(n=n.substring(1)),n.length<6?{r:parseInt(n[0]+n[0],16),g:parseInt(n[1]+n[1],16),b:parseInt(n[2]+n[2],16),a:n.length===4?x(parseInt(n[3]+n[3],16)/255,2):1}:{r:parseInt(n.substring(0,2),16),g:parseInt(n.substring(2,4),16),b:parseInt(n.substring(4,6),16),a:n.length===8?x(parseInt(n.substring(6,8),16)/255,2):1}},we=function(n,o){return o===void 0&&(o="deg"),Number(n)*(ye[o]||1)},ke=function(n){var o=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(n);return o?_e({h:we(o[1],o[2]),s:Number(o[3]),l:Number(o[4]),a:o[5]===void 0?1:Number(o[5])/(o[6]?100:1)}):{h:0,s:0,v:0,a:1}},_e=function(n){var o=n.s,c=n.l;return{h:n.h,s:(o*=(c<50?c:100-c)/100)>0?2*o/(c+o)*100:0,v:c+o,a:n.a}},Ee=function(n){return Ce(ee(n))},J=function(n){var o=n.s,c=n.v,h=n.a,i=(200-o)*c/100;return{h:x(n.h),s:x(i>0&&i<200?o*c/100/(i<=100?i:200-i)*100:0),l:x(i/2),a:x(h,2)}},K=function(n){var o=J(n);return"hsl("+o.h+", "+o.s+"%, "+o.l+"%)"},I=function(n){var o=J(n);return"hsla("+o.h+", "+o.s+"%, "+o.l+"%, "+o.a+")"},ee=function(n){var o=n.h,c=n.s,h=n.v,i=n.a;o=o/360*6,c/=100,h/=100;var d=Math.floor(o),e=h*(1-c),t=h*(1-(o-d)*c),r=h*(1-(1-o+d)*c),a=d%6;return{r:x(255*[h,t,e,e,r,h][a]),g:x(255*[r,h,h,t,e,e][a]),b:x(255*[e,e,r,h,h,t][a]),a:x(i,2)}},Me=function(n){var o=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(n);return o?re({r:Number(o[1])/(o[2]?100/255:1),g:Number(o[3])/(o[4]?100/255:1),b:Number(o[5])/(o[6]?100/255:1),a:o[7]===void 0?1:Number(o[7])/(o[8]?100:1)}):{h:0,s:0,v:0,a:1}},j=function(n){var o=n.toString(16);return o.length<2?"0"+o:o},Ce=function(n){var o=n.r,c=n.g,h=n.b,i=n.a,d=i<1?j(x(255*i)):"";return"#"+j(o)+j(c)+j(h)+d},re=function(n){var o=n.r,c=n.g,h=n.b,i=n.a,d=Math.max(o,c,h),e=d-Math.min(o,c,h),t=e?d===o?(c-h)/e:d===c?2+(h-o)/e:4+(o-c)/e:0;return{h:x(60*(t<0?t+6:t)),s:x(d?e/d*100:0),v:x(d/255*100),a:i}},te=m.memo(function(n){var o=n.hue,c=n.onChange,h=N(["react-colorful__hue",n.className]);return m.createElement("div",{className:h},m.createElement(G,{onMove:function(i){c({h:360*i.left})},onKey:function(i){c({h:O(o+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":x(o),"aria-valuemax":"360","aria-valuemin":"0"},m.createElement(F,{className:"react-colorful__hue-pointer",left:o/360,color:K({h:o,s:100,v:100,a:1})})))}),ne=m.memo(function(n){var o=n.hsva,c=n.onChange,h={backgroundColor:K({h:o.h,s:100,v:100,a:1})};return m.createElement("div",{className:"react-colorful__saturation",style:h},m.createElement(G,{onMove:function(i){c({s:100*i.left,v:100-100*i.top})},onKey:function(i){c({s:O(o.s+100*i.left,0,100),v:O(o.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+x(o.s)+"%, Brightness "+x(o.v)+"%"},m.createElement(F,{className:"react-colorful__saturation-pointer",top:1-o.v/100,left:o.s/100,color:K(o)})))}),ae=function(n,o){if(n===o)return!0;for(var c in n)if(n[c]!==o[c])return!1;return!0},le=function(n,o){return n.replace(/\s/g,"")===o.replace(/\s/g,"")},$e=function(n,o){return n.toLowerCase()===o.toLowerCase()||ae(X(n),X(o))};function oe(n,o,c){var h=L(c),i=p.useState(function(){return n.toHsva(o)}),d=i[0],e=i[1],t=p.useRef({color:o,hsva:d});p.useEffect(function(){if(!n.equal(o,t.current.color)){var a=n.toHsva(o);t.current={hsva:a,color:o},e(a)}},[o,n]),p.useEffect(function(){var a;ae(d,t.current.hsva)||n.equal(a=n.fromHsva(d),t.current.color)||(t.current={hsva:d,color:a},h(a))},[d,n,h]);var r=p.useCallback(function(a){e(function(l){return Object.assign({},l,a)})},[]);return[d,r]}var Oe=typeof window<"u"?p.useLayoutEffect:p.useEffect,Se=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},A=new Map,ue=function(n){Oe(function(){var o=n.current?n.current.ownerDocument:document;if(o!==void 0&&!A.has(o)){var c=o.createElement("style");c.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,A.set(o,c);var h=Se();h&&c.setAttribute("nonce",h),o.head.appendChild(c)}},[])},Ne=function(n){var o=n.className,c=n.colorModel,h=n.color,i=h===void 0?c.defaultColor:h,d=n.onChange,e=V(n,["className","colorModel","color","onChange"]),t=p.useRef(null);ue(t);var r=oe(c,i,d),a=r[0],l=r[1],u=N(["react-colorful",o]);return m.createElement("div",C({},e,{ref:t,className:u}),m.createElement(ne,{hsva:a,onChange:l}),m.createElement(te,{hue:a.h,onChange:l,className:"react-colorful__last-control"}))},je={defaultColor:"000",toHsva:xe,fromHsva:function(n){return Ee({h:n.h,s:n.s,v:n.v,a:1})},equal:$e},Re=function(n){return m.createElement(Ne,C({},n,{colorModel:je}))},ze=function(n){var o=n.className,c=n.hsva,h=n.onChange,i={backgroundImage:"linear-gradient(90deg, "+I(Object.assign({},c,{a:0}))+", "+I(Object.assign({},c,{a:1}))+")"},d=N(["react-colorful__alpha",o]),e=x(100*c.a);return m.createElement("div",{className:d},m.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),m.createElement(G,{onMove:function(t){h({a:t.left})},onKey:function(t){h({a:O(c.a+t.left)})},"aria-label":"Alpha","aria-valuetext":e+"%","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"100"},m.createElement(F,{className:"react-colorful__alpha-pointer",left:c.a,color:I(c)})))},ie=function(n){var o=n.className,c=n.colorModel,h=n.color,i=h===void 0?c.defaultColor:h,d=n.onChange,e=V(n,["className","colorModel","color","onChange"]),t=p.useRef(null);ue(t);var r=oe(c,i,d),a=r[0],l=r[1],u=N(["react-colorful",o]);return m.createElement("div",C({},e,{ref:t,className:u}),m.createElement(ne,{hsva:a,onChange:l}),m.createElement(te,{hue:a.h,onChange:l}),m.createElement(ze,{hsva:a,onChange:l,className:"react-colorful__last-control"}))},Ie={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:ke,fromHsva:I,equal:le},He=function(n){return m.createElement(ie,C({},n,{colorModel:Ie}))},qe={defaultColor:"rgba(0, 0, 0, 1)",toHsva:Me,fromHsva:function(n){var o=ee(n);return"rgba("+o.r+", "+o.g+", "+o.b+", "+o.a+")"},equal:le},Pe=function(n){return m.createElement(ie,C({},n,{colorModel:qe}))},Le=M.div({position:"relative",maxWidth:250,'&[aria-readonly="true"]':{opacity:.5}}),Be=M(Y)({position:"absolute",zIndex:1,top:4,left:4,"[aria-readonly=true] &":{cursor:"not-allowed"}}),Xe=M.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),Ke=M(fe)(({theme:n})=>({fontFamily:n.typography.fonts.base})),De=M.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),Ve=M.div(({theme:n,active:o})=>({width:16,height:16,boxShadow:o?`${n.appBorderColor} 0 0 0 1px inset, ${n.textMutedColor}50 0 0 0 4px`:`${n.appBorderColor} 0 0 0 1px inset`,borderRadius:n.appBorderRadius})),Ge=`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,Q=({value:n,style:o,...c})=>{let h=`linear-gradient(${n}, ${n}), ${Ge}, linear-gradient(#fff, #fff)`;return m.createElement(Ve,{...c,style:{...o,backgroundImage:h}})},Fe=M(de.Input)(({theme:n,readOnly:o})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:n.typography.fonts.base})),Te=M(ge)(({theme:n})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:n.input.color})),se=(n=>(n.RGB="rgb",n.HSL="hsl",n.HEX="hex",n))(se||{}),R=Object.values(se),We=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,Ae=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,Qe=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,D=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,Ue=/^\s*#?([0-9a-f]{3})\s*$/i,Ye={hex:Re,rgb:Pe,hsl:He},z={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},U=n=>{let o=n==null?void 0:n.match(We);if(!o)return[0,0,0,1];let[,c,h,i,d=1]=o;return[c,h,i,d].map(Number)},$=n=>{if(!n)return;let o=!0;if(Ae.test(n)){let[e,t,r,a]=U(n),[l,u,s]=_.default.rgb.hsl([e,t,r])||[0,0,0];return{valid:o,value:n,keyword:_.default.rgb.keyword([e,t,r]),colorSpace:"rgb",rgb:n,hsl:`hsla(${l}, ${u}%, ${s}%, ${a})`,hex:`#${_.default.rgb.hex([e,t,r]).toLowerCase()}`}}if(Qe.test(n)){let[e,t,r,a]=U(n),[l,u,s]=_.default.hsl.rgb([e,t,r])||[0,0,0];return{valid:o,value:n,keyword:_.default.hsl.keyword([e,t,r]),colorSpace:"hsl",rgb:`rgba(${l}, ${u}, ${s}, ${a})`,hsl:n,hex:`#${_.default.hsl.hex([e,t,r]).toLowerCase()}`}}let c=n.replace("#",""),h=_.default.keyword.rgb(c)||_.default.hex.rgb(c),i=_.default.rgb.hsl(h),d=n;if(/[^#a-f0-9]/i.test(n)?d=c:D.test(n)&&(d=`#${c}`),d.startsWith("#"))o=D.test(d);else try{_.default.keyword.hex(d)}catch{o=!1}return{valid:o,value:d,keyword:_.default.rgb.keyword(h),colorSpace:"hex",rgb:`rgba(${h[0]}, ${h[1]}, ${h[2]}, 1)`,hsl:`hsla(${i[0]}, ${i[1]}%, ${i[2]}%, 1)`,hex:d}},Ze=(n,o,c)=>{if(!n||!(o!=null&&o.valid))return z[c];if(c!=="hex")return(o==null?void 0:o[c])||z[c];if(!o.hex.startsWith("#"))try{return`#${_.default.keyword.hex(o.hex)}`}catch{return z.hex}let h=o.hex.match(Ue);if(!h)return D.test(o.hex)?o.hex:z.hex;let[i,d,e]=h[1].split("");return`#${i}${i}${d}${d}${e}${e}`},Je=(n,o)=>{let[c,h]=p.useState(n||""),[i,d]=p.useState(()=>$(c)),[e,t]=p.useState((i==null?void 0:i.colorSpace)||"hex");p.useEffect(()=>{let u=n||"",s=$(u);h(u),d(s),t((s==null?void 0:s.colorSpace)||"hex")},[n]);let r=p.useMemo(()=>Ze(c,i,e).toLowerCase(),[c,i,e]),a=p.useCallback(u=>{let s=$(u),f=(s==null?void 0:s.value)||u||"";h(f),f===""&&(d(void 0),o(void 0)),s&&(d(s),t(s.colorSpace),o(s.value))},[o]),l=p.useCallback(()=>{let u=R.indexOf(e)+1;u>=R.length&&(u=0),t(R[u]);let s=(i==null?void 0:i[R[u]])||"";h(s),o(s)},[i,e,o]);return{value:c,realValue:r,updateValue:a,color:i,colorSpace:e,cycleColorSpace:l}},H=n=>n.replace(/\s*/,"").toLowerCase(),er=(n,o,c)=>{let[h,i]=p.useState(o!=null&&o.valid?[o]:[]);p.useEffect(()=>{o===void 0&&i([])},[o]);let d=p.useMemo(()=>(n||[]).map(t=>typeof t=="string"?$(t):t.title?{...$(t.color),keyword:t.title}:$(t.color)).concat(h).filter(Boolean).slice(-27),[n,h]),e=p.useCallback(t=>{t!=null&&t.valid&&(d.some(r=>H(r[c])===H(t[c]))||i(r=>r.concat(t)))},[c,d]);return{presets:d,addPreset:e}},rr=({name:n,value:o,onChange:c,onFocus:h,onBlur:i,presetColors:d,startOpen:e=!1,argType:t})=>{var E;let r=p.useCallback(ce(c,200),[c]),{value:a,realValue:l,updateValue:u,color:s,colorSpace:f,cycleColorSpace:g}=Je(o,r),{presets:b,addPreset:y}=er(d,s,f),v=Ye[f],w=!!((E=t==null?void 0:t.table)!=null&&E.readonly);return m.createElement(Le,{"aria-readonly":w},m.createElement(Be,{startOpen:e,trigger:w?[null]:void 0,closeOnOutsideClick:!0,onVisibleChange:()=>y(s),tooltip:m.createElement(Xe,null,m.createElement(v,{color:l==="transparent"?"#000000":l,onChange:u,onFocus:h,onBlur:i}),b.length>0&&m.createElement(De,null,b.map((k,P)=>m.createElement(Y,{key:`${k.value}-${P}`,hasChrome:!1,tooltip:m.createElement(Ke,{note:k.keyword||k.value})},m.createElement(Q,{value:k[f],active:s&&H(k[f])===H(s[f]),onClick:()=>u(k.value)})))))},m.createElement(Q,{value:l,style:{margin:4}})),m.createElement(Fe,{id:he(n),value:a,onChange:k=>u(k.target.value),onFocus:k=>k.target.select(),readOnly:w,placeholder:"Choose color..."}),a?m.createElement(Te,{onClick:g}):null)},hr=rr;export{rr as ColorControl,hr as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as a}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as c}from"./index-B4FGfHer.js";import{b as l,U as r}from"./index-
|
|
1
|
+
import{j as a}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as c}from"./index-B4FGfHer.js";import{b as l,U as r}from"./index-DVR_O3uO.js";import{c as o}from"./browserUtils-CxJ5gea3.js";import"./index-ChsGqxH_.js";import"./index-Dmy2JGbm.js";import"./iframe-Ci_IjEPD.js";import"./index-CT3U1fyk.js";import"./index-BRq5TIsn.js";import"./index-DgH-xKnr.js";import"./index-DrFu-skq.js";const $={0:{$type:"spacing",$value:0},1:{$type:"spacing",$value:4},2:{$type:"spacing",$value:8},3:{$type:"spacing",$value:12},4:{$type:"spacing",$value:16},5:{$type:"spacing",$value:20},6:{$type:"spacing",$value:24},7:{$type:"spacing",$value:28},8:{$type:"spacing",$value:32},9:{$type:"spacing",$value:36},10:{$type:"spacing",$value:40},11:{$type:"spacing",$value:44},12:{$type:"spacing",$value:48},14:{$type:"spacing",$value:56},16:{$type:"spacing",$value:64},20:{$type:"spacing",$value:80},24:{$type:"spacing",$value:96},28:{$type:"spacing",$value:112},32:{$type:"spacing",$value:128},36:{$type:"spacing",$value:144},40:{$type:"spacing",$value:160},44:{$type:"spacing",$value:176},48:{$type:"spacing",$value:192},50:{$type:"spacing",$value:200},"3_5":{$type:"spacing",$value:14},"1_5":{$type:"spacing",$value:6},"0_5":{$type:"spacing",$value:2},"2_5":{$type:"spacing",$value:10}},u={spacing:$},d=e=>`${e/16}rem`,n=e=>Number(e.replace("_",".")),g=Object.entries(u.spacing).sort(([e],[s])=>n(e)-n(s)).map(([e,s])=>({token:`spacing-${e}`,utility:`p-${e}`,value:d(s.$value)})),m=e=>{o({text:e}),alert("복사가 완료되었습니다.")},i=()=>a.jsx("div",{className:"border-default bg-default text-default space-y-2 rounded-lg border p-4",children:g.map(({token:e,utility:s,value:t})=>a.jsxs("button",{type:"button",className:"border-subtle grid w-full cursor-copy grid-cols-[180px_1fr] items-center gap-3 rounded-md border p-2 text-left",onClick:()=>m(s),title:`Copy ${s}`,children:[a.jsx("p",{className:"text-subtle text-xs",children:s}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"bg-fill-brand h-2 rounded-full",style:{width:t}}),a.jsx("span",{className:"text-subtle text-sm",children:t})]})]},e))});i.__docgenInfo={description:"",methods:[],displayName:"SpacingPreview"};function p(e){const s={code:"code",h1:"h1",p:"p",pre:"pre",...c(),...e.components};return a.jsxs(a.Fragment,{children:[a.jsx(l,{title:"1.foundations/spacing"}),`
|
|
2
2
|
`,a.jsx(s.h1,{id:"spacing",children:"Spacing"}),`
|
|
3
3
|
`,a.jsxs(s.p,{children:[a.jsx(s.code,{children:"--spacing-*"})," 전체 토큰을 미리보기에서 확인합니다."]}),`
|
|
4
4
|
`,a.jsx(s.pre,{children:a.jsx(s.code,{className:"language-tsx",children:`<div className="p-4 gap-2" />
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as x}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as t}from"./index-B4FGfHer.js";import{b as n,U as l}from"./index-
|
|
1
|
+
import{j as x}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as t}from"./index-B4FGfHer.js";import{b as n,U as l}from"./index-DVR_O3uO.js";import{c as i}from"./browserUtils-CxJ5gea3.js";import"./index-ChsGqxH_.js";import"./index-Dmy2JGbm.js";import"./iframe-Ci_IjEPD.js";import"./index-CT3U1fyk.js";import"./index-BRq5TIsn.js";import"./index-DgH-xKnr.js";import"./index-DrFu-skq.js";const c={"down-2xs":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px 1px 4px 0px rgba(9, 9, 11, 0.188)"},"down-xs":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px 4px 10px 0px rgba(9, 9, 11, 0.18)"},"down-sm":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px 10px 16px 0px rgba(9, 9, 11, 0.169)"},"down-md":{$type:"shadow",$value:"0px 0px 2px 0px rgba(9, 9, 11, 0.2), 0px 20px 32px 0px rgba(9, 9, 11, 0.161)"},"down-lg":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px 34px 48px 0px rgba(9, 9, 11, 0.149)"},"down-xl":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px 52px 64px 0px rgba(9, 9, 11, 0.141)"},"up-2xs":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px -1px 4px 0px rgba(9, 9, 11, 0.188)"},"up-xs":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px -4px 10px 0px rgba(9, 9, 11, 0.18)"},"up-sm":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px -10px 16px 0px rgba(9, 9, 11, 0.169)"},"up-md":{$type:"shadow",$value:"0px 0px 2px 0px rgba(9, 9, 11, 0.2), 0px -20px 32px 0px rgba(9, 9, 11, 0.161)"},"up-lg":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px -34px 48px 0px rgba(9, 9, 11, 0.149)"},"up-xl":{$type:"shadow",$value:"0px 0px 1px 0px rgba(9, 9, 11, 0.2), 0px -52px 64px 0px rgba(9, 9, 11, 0.141)"}},h={shadow:c},u=Object.entries(h.shadow).map(([e,p])=>({token:`shadow-${e}`,value:p.$value})),m=e=>{i({text:e}),alert("복사가 완료되었습니다.")},w=e=>{const p=[];let a="",s=0;for(const o of e){if(o==="("&&(s+=1),o===")"&&(s-=1),o===","&&s===0){p.push(a.trim()),a="";continue}a+=o}return a.trim()&&p.push(a.trim()),p},d=()=>x.jsx("div",{className:"grid gap-4 md:grid-cols-3",children:u.map(({token:e,value:p})=>x.jsxs("button",{type:"button",className:"border-default bg-default text-default cursor-copy rounded-lg border p-4 text-left",style:{boxShadow:p},onClick:()=>m(e),title:`Copy ${e}`,children:[x.jsx("p",{className:"text-sm font-medium",children:e}),w(p).map((a,s)=>x.jsx("p",{className:"text-subtle mt-1 text-sm",children:`Layer ${s+1}: ${a}`},`${e}-${s}`))]},e))});d.__docgenInfo={description:"",methods:[],displayName:"ShadowPreview"};function r(e){const p={code:"code",h1:"h1",li:"li",p:"p",pre:"pre",ul:"ul",...t(),...e.components};return x.jsxs(x.Fragment,{children:[x.jsx(n,{title:"1.foundations/shadow"}),`
|
|
2
2
|
`,x.jsx(p.h1,{id:"shadow",children:"Shadow"}),`
|
|
3
3
|
`,x.jsxs(p.p,{children:[x.jsx(p.code,{children:"--shadow-*"})," 토큰은 2개의 레이어를 합성해서 만듭니다."]}),`
|
|
4
4
|
`,x.jsxs(p.ul,{children:[`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as r}from"./index-B4FGfHer.js";import{b as a,U as l}from"./index-
|
|
1
|
+
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as r}from"./index-B4FGfHer.js";import{b as a,U as l}from"./index-DVR_O3uO.js";import{I as d}from"./index-DKFBREX_.js";import{c as p}from"./browserUtils-CxJ5gea3.js";import"./index-ChsGqxH_.js";import"./index-Dmy2JGbm.js";import"./iframe-Ci_IjEPD.js";import"./index-CT3U1fyk.js";import"./index-BRq5TIsn.js";import"./index-DgH-xKnr.js";import"./index-DrFu-skq.js";const m=t=>{p({text:t}),alert("복사가 완료되었습니다.")},n=t=>`<${t} className="size-5" />`,c=()=>{const t=Object.entries(d).filter(([,o])=>typeof o=="function");return e.jsx("div",{className:"grid grid-cols-3 gap-3 md:grid-cols-6 xl:grid-cols-8",children:t.map(([o,i])=>e.jsxs("button",{type:"button",className:"border-default bg-default text-default flex cursor-copy flex-col items-center gap-2 rounded-lg border p-3",onClick:()=>m(n(o)),title:`Copy ${n(o)}`,children:[e.jsx(i,{className:"size-5"}),e.jsx("span",{className:"text-subtle text-center text-sm break-all",children:n(o)})]},o))})};c.__docgenInfo={description:"",methods:[],displayName:"IconPreview"};function s(t){const o={code:"code",h1:"h1",p:"p",pre:"pre",...r(),...t.components};return e.jsxs(e.Fragment,{children:[e.jsx(a,{title:"1.foundations/icon"}),`
|
|
2
2
|
`,e.jsx(o.h1,{id:"icon",children:"Icon"}),`
|
|
3
3
|
`,e.jsxs(o.p,{children:[e.jsx(o.code,{children:"@repo/rb-components/icons"}),"의 아이콘 전체를 미리보기에서 확인합니다."]}),`
|
|
4
4
|
`,e.jsx(o.pre,{children:e.jsx(o.code,{className:"language-tsx",children:`import { SvgIcoSearch } from '@repo/rb-components/icons';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as g}from"./index-B4FGfHer.js";import{b as S,U as $}from"./index-DVR_O3uO.js";import{d as u,e as s,f as c,g as b}from"./react-resizable-panels.browser-BpHwB_WW.js";import"./index-Dmy2JGbm.js";import{c as v}from"./browserUtils-CxJ5gea3.js";import"./index-ChsGqxH_.js";import"./iframe-Ci_IjEPD.js";import"./index-CT3U1fyk.js";import"./index-BRq5TIsn.js";import"./index-DgH-xKnr.js";import"./index-DrFu-skq.js";const F=JSON.parse('{"title":{"01":{"normal":{"$type":"typography","$value":{"fontSize":16,"lineHeight":24,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":16,"lineHeight":24,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"bold":{"$type":"typography","$value":{"fontSize":16,"lineHeight":24,"letterSpacing":0,"fontWeight":700,"fontFamily":"Pretendard Variable"}}},"02":{"normal":{"$type":"typography","$value":{"fontSize":18,"lineHeight":28,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":18,"lineHeight":28,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"bold":{"$type":"typography","$value":{"fontSize":18,"lineHeight":28,"letterSpacing":0,"fontWeight":700,"fontFamily":"Pretendard Variable"}}},"03":{"normal":{"$type":"typography","$value":{"fontSize":20,"lineHeight":32,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":20,"lineHeight":32,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"bold":{"$type":"typography","$value":{"fontSize":20,"lineHeight":32,"letterSpacing":0,"fontWeight":700,"fontFamily":"Pretendard Variable"}}},"04":{"normal":{"$type":"typography","$value":{"fontSize":24,"lineHeight":36,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":24,"lineHeight":36,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"bold":{"$type":"typography","$value":{"fontSize":24,"lineHeight":36,"letterSpacing":0,"fontWeight":700,"fontFamily":"Pretendard Variable"}}},"05":{"normal":{"$type":"typography","$value":{"fontSize":30,"lineHeight":44,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":30,"lineHeight":44,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"bold":{"$type":"typography","$value":{"fontSize":30,"lineHeight":44,"letterSpacing":0,"fontWeight":700,"fontFamily":"Pretendard Variable"}}},"06":{"normal":{"$type":"typography","$value":{"fontSize":36,"lineHeight":54,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":36,"lineHeight":54,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"bold":{"$type":"typography","$value":{"fontSize":36,"lineHeight":54,"letterSpacing":0,"fontWeight":700,"fontFamily":"Pretendard Variable"}}}},"body":{"lg":{"normal":{"$type":"typography","$value":{"fontSize":18,"lineHeight":32,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":18,"lineHeight":32,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":18,"lineHeight":32,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"md":{"normal":{"$type":"typography","$value":{"fontSize":16,"lineHeight":28,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":16,"lineHeight":28,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":16,"lineHeight":28,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"sm2":{"normal":{"$type":"typography","$value":{"fontSize":15,"lineHeight":26,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":15,"lineHeight":26,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":15,"lineHeight":26,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"sm":{"normal":{"$type":"typography","$value":{"fontSize":14,"lineHeight":24,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":14,"lineHeight":24,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":14,"lineHeight":24,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"xs2":{"normal":{"$type":"typography","$value":{"fontSize":13,"lineHeight":22,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":13,"lineHeight":22,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":13,"lineHeight":22,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"xs":{"normal":{"$type":"typography","$value":{"fontSize":12,"lineHeight":20,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":12,"lineHeight":20,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":12,"lineHeight":20,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"2xs":{"normal":{"$type":"typography","$value":{"fontSize":10,"lineHeight":16,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":10,"lineHeight":16,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":10,"lineHeight":16,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}}},"compact":{"lg":{"normal":{"$type":"typography","$value":{"fontSize":18,"lineHeight":28,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":18,"lineHeight":28,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":18,"lineHeight":28,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"md":{"normal":{"$type":"typography","$value":{"fontSize":16,"lineHeight":24,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":16,"lineHeight":24,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":16,"lineHeight":24,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"sm2":{"normal":{"$type":"typography","$value":{"fontSize":15,"lineHeight":22,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":15,"lineHeight":22,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":15,"lineHeight":22,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"sm":{"normal":{"$type":"typography","$value":{"fontSize":14,"lineHeight":20,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":14,"lineHeight":20,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":14,"lineHeight":20,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"xs2":{"normal":{"$type":"typography","$value":{"fontSize":13,"lineHeight":18,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":13,"lineHeight":18,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":13,"lineHeight":18,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"xs":{"normal":{"$type":"typography","$value":{"fontSize":12,"lineHeight":16,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":12,"lineHeight":16,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":12,"lineHeight":16,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}},"2xs":{"normal":{"$type":"typography","$value":{"fontSize":10,"lineHeight":12,"letterSpacing":0,"fontWeight":400,"fontFamily":"Pretendard Variable"}},"medium":{"$type":"typography","$value":{"fontSize":10,"lineHeight":12,"letterSpacing":0,"fontWeight":500,"fontFamily":"Pretendard Variable"}},"semibold":{"$type":"typography","$value":{"fontSize":10,"lineHeight":12,"letterSpacing":0,"fontWeight":600,"fontFamily":"Pretendard Variable"}}}},"code":{"2xs":{"normal":{"$type":"typography","$value":{"fontSize":10,"lineHeight":12,"letterSpacing":0,"fontWeight":400,"fontFamily":"Oxanium"}},"medium":{"$type":"typography","$value":{"fontSize":10,"lineHeight":12,"letterSpacing":0,"fontWeight":500,"fontFamily":"Oxanium"}},"semibold":{"$type":"typography","$value":{"fontSize":10,"lineHeight":12,"letterSpacing":0,"fontWeight":600,"fontFamily":"Oxanium"}}},"xs":{"normal":{"$type":"typography","$value":{"fontSize":12,"lineHeight":14,"letterSpacing":0,"fontWeight":400,"fontFamily":"Oxanium"}},"medium":{"$type":"typography","$value":{"fontSize":12,"lineHeight":14,"letterSpacing":0,"fontWeight":500,"fontFamily":"Oxanium"}},"semibold":{"$type":"typography","$value":{"fontSize":12,"lineHeight":14,"letterSpacing":0,"fontWeight":600,"fontFamily":"Oxanium"}}},"xs2":{"semibold":{"$type":"typography","$value":{"fontSize":13,"lineHeight":18,"letterSpacing":0,"fontWeight":600,"fontFamily":"Oxanium"}},"medium":{"$type":"typography","$value":{"fontSize":13,"lineHeight":18,"letterSpacing":0,"fontWeight":500,"fontFamily":"Oxanium"}},"normal":{"$type":"typography","$value":{"fontSize":13,"lineHeight":18,"letterSpacing":0,"fontWeight":400,"fontFamily":"Oxanium"}}},"sm":{"semibold":{"$type":"typography","$value":{"fontSize":14,"lineHeight":20,"letterSpacing":0,"fontWeight":600,"fontFamily":"Oxanium"}},"medium":{"$type":"typography","$value":{"fontSize":14,"lineHeight":20,"letterSpacing":0,"fontWeight":500,"fontFamily":"Oxanium"}},"normal":{"$type":"typography","$value":{"fontSize":14,"lineHeight":20,"letterSpacing":0,"fontWeight":400,"fontFamily":"Oxanium"}}},"sm2":{"semibold":{"$type":"typography","$value":{"fontSize":15,"lineHeight":22,"letterSpacing":0,"fontWeight":600,"fontFamily":"Oxanium"}},"medium":{"$type":"typography","$value":{"fontSize":15,"lineHeight":22,"letterSpacing":0,"fontWeight":500,"fontFamily":"Oxanium"}},"normal":{"$type":"typography","$value":{"fontSize":15,"lineHeight":22,"letterSpacing":0,"fontWeight":400,"fontFamily":"Oxanium"}}},"md":{"semibold":{"$type":"typography","$value":{"fontSize":16,"lineHeight":24,"letterSpacing":0,"fontWeight":600,"fontFamily":"Oxanium"}},"medium":{"$type":"typography","$value":{"fontSize":16,"lineHeight":24,"letterSpacing":0,"fontWeight":500,"fontFamily":"Oxanium"}},"normal":{"$type":"typography","$value":{"fontSize":16,"lineHeight":24,"letterSpacing":0,"fontWeight":400,"fontFamily":"Oxanium"}}},"lg":{"semibold":{"$type":"typography","$value":{"fontSize":18,"lineHeight":28,"letterSpacing":0,"fontWeight":600,"fontFamily":"Oxanium"}},"medium":{"$type":"typography","$value":{"fontSize":18,"lineHeight":28,"letterSpacing":0,"fontWeight":500,"fontFamily":"Oxanium"}},"normal":{"$type":"typography","$value":{"fontSize":18,"lineHeight":28,"letterSpacing":0,"fontWeight":400,"fontFamily":"Oxanium"}}}}}'),z={text:F},H=({scale:t,weight:i,fontFamilyToken:a})=>[`font-${a??"sans"}`,`text-${t}`,`leading-${t}`,`tracking-${t}`,`font-${i}`].join(" + "),W=t=>{v({text:t}),alert("복사가 완료되었습니다.")},l=Object.entries(z.text??{}),f=()=>{var i;const t=(i=l[0])==null?void 0:i[0];return t?e.jsxs(u,{defaultValue:t,className:"w-full",children:[e.jsx(s,{className:"border-default bg-default text-fg-default supports-[backdrop-filter]:bg-default sticky top-2 z-20 mb-3 rounded-lg border p-1 shadow-sm backdrop-blur",children:l.map(([a])=>e.jsx(c,{value:a,children:a},a))}),l.map(([a,h])=>e.jsx(b,{value:a,children:e.jsx("div",{className:"border-default bg-default text-default space-y-2 rounded-lg border p-4",children:Object.entries(h).flatMap(([o,m])=>Object.entries(m).map(([r,d])=>{var p;const n=`typo-${a}-${o}-${r}`;return e.jsx("button",{type:"button",className:"border-subtle hover:bg-overlay/30 block w-full cursor-copy rounded-md border p-3 text-left transition-colors",onClick:()=>W(n),title:`Copy ${n}`,children:e.jsx("div",{className:"flex items-start justify-between gap-3",children:e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("p",{className:n,children:["Rainbow Robotics UI Typography Test",e.jsx("br",{}),"ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789"]}),e.jsxs("p",{className:"text-subtle mt-1 text-sm",children:[".",n]}),e.jsx("p",{className:"text-subtler mt-1 text-sm",children:H({scale:o,weight:r,fontFamilyToken:(p=d.$value)==null?void 0:p.fontFamilyToken})})]})})},n)}))})},a))]}):null};f.__docgenInfo={description:"",methods:[],displayName:"TextStylePreview"};function y(t){const i={code:"code",h1:"h1",p:"p",pre:"pre",...g(),...t.components};return e.jsxs(e.Fragment,{children:[e.jsx(S,{title:"1.foundations/text-style"}),`
|
|
2
|
+
`,e.jsx(i.h1,{id:"text-style",children:"Text Style"}),`
|
|
3
|
+
`,e.jsxs(i.p,{children:[e.jsx(i.code,{children:"rb-token.css"}),"의 타이포그래피 유틸리티 전체를 미리보기에서 확인합니다."]}),`
|
|
4
|
+
`,e.jsx(i.pre,{children:e.jsx(i.code,{className:"language-tsx",children:`<p className="typo-body-sm-normal text-default">본문</p>
|
|
5
|
+
<h3 className="typo-title-03-bold text-default">제목</h3>
|
|
6
|
+
`})}),`
|
|
7
|
+
`,e.jsx($,{children:e.jsx(f,{})})]})}function U(t={}){const{wrapper:i}={...g(),...t.components};return i?e.jsx(i,{...t,children:e.jsx(y,{...t})}):y(t)}export{U as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as d}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as t}from"./index-B4FGfHer.js";import{b as n,U as a}from"./index-
|
|
1
|
+
import{j as d}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as t}from"./index-B4FGfHer.js";import{b as n,U as a}from"./index-DVR_O3uO.js";import{c as u}from"./browserUtils-CxJ5gea3.js";import"./index-ChsGqxH_.js";import"./index-Dmy2JGbm.js";import"./iframe-Ci_IjEPD.js";import"./index-CT3U1fyk.js";import"./index-BRq5TIsn.js";import"./index-DgH-xKnr.js";import"./index-DrFu-skq.js";const i={"rounded-full":{$type:"borderRadius",$value:9999},"rounded-4xl":{$type:"borderRadius",$value:32},"rounded-3xl":{$type:"borderRadius",$value:24},"rounded-2xl":{$type:"borderRadius",$value:16},"rounded-xl":{$type:"borderRadius",$value:12},"rounded-sm":{$type:"borderRadius",$value:4},"rounded-lg":{$type:"borderRadius",$value:8},"rounded-md":{$type:"borderRadius",$value:6},"rounded-xs":{$type:"borderRadius",$value:2}},l={rounded:i},c=e=>`${e/16}rem`,m=Object.entries(l.rounded).map(([e,r])=>({token:e,value:c(r.$value)})),p=e=>{u({text:e}),alert("복사가 완료되었습니다.")},o=()=>d.jsx("div",{className:"grid gap-3 md:grid-cols-3",children:m.map(({token:e,value:r})=>d.jsxs("button",{type:"button",className:"border-default bg-default text-default cursor-copy rounded-md border p-3 text-left",onClick:()=>p(e),title:`Copy ${e}`,children:[d.jsx("div",{className:"border-subtle bg-fill-subtler h-16 border",style:{borderRadius:r}}),d.jsx("p",{className:"text-subtle mt-2 text-sm",children:e}),d.jsx("p",{className:"text-subtler mt-1 text-sm",children:r})]},e))});o.__docgenInfo={description:"",methods:[],displayName:"RadiusPreview"};function s(e){const r={code:"code",h1:"h1",p:"p",pre:"pre",...t(),...e.components};return d.jsxs(d.Fragment,{children:[d.jsx(n,{title:"1.foundations/radius"}),`
|
|
2
2
|
`,d.jsx(r.h1,{id:"radius",children:"Radius"}),`
|
|
3
3
|
`,d.jsxs(r.p,{children:[d.jsx(r.code,{children:"--radius-*"})," 전체 토큰을 미리보기에서 확인합니다."]}),`
|
|
4
4
|
`,d.jsx(r.pre,{children:d.jsx(r.code,{className:"language-tsx",children:`<div className="rounded-xs" />
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{j as l}from"./jsx-runtime-BTJTZTIL.js";import{useMDXComponents as y}from"./index-B4FGfHer.js";import{b as g,U as b}from"./index-DVR_O3uO.js";import{d as p,e as n,f as c,g as t}from"./react-resizable-panels.browser-BpHwB_WW.js";import"./index-Dmy2JGbm.js";import{c as f}from"./browserUtils-CxJ5gea3.js";import"./index-ChsGqxH_.js";import"./iframe-Ci_IjEPD.js";import"./index-CT3U1fyk.js";import"./index-BRq5TIsn.js";import"./index-DgH-xKnr.js";import"./index-DrFu-skq.js";const k={"scale color":{red:{500:{$type:"color",$value:"#fb2c36"},600:{$type:"color",$value:"#e7000b"},"alpha-50p":{$type:"color",$value:"#fb2c3680"},"alpha-30p":{$type:"color",$value:"#fb2c364d"},"alpha-10p":{$type:"color",$value:"#fb2c361a"},"alpha-20p":{$type:"color",$value:"#fb2c3633"}},orange:{500:{$type:"color",$value:"#ff6900"},600:{$type:"color",$value:"#f54a00"},"alpha-50p":{$type:"color",$value:"#ff690080"},"alpha-30p":{$type:"color",$value:"#ff69004d"},"alpha-10p":{$type:"color",$value:"#ff69001a"},"alpha-20p":{$type:"color",$value:"#ff690033"}},green:{500:{$type:"color",$value:"#00c951"},600:{$type:"color",$value:"#00a63e"},"alpha-50p":{$type:"color",$value:"#00c95180"},"alpha-30p":{$type:"color",$value:"#00c9514d"},"alpha-10p":{$type:"color",$value:"#00c9511a"},"alpha-20p":{$type:"color",$value:"#00c95133"}},blue:{500:{$type:"color",$value:"#2b7fff"},600:{$type:"color",$value:"#155dfc"},"alpha-50p":{$type:"color",$value:"#2b7fff80"},"alpha-30p":{$type:"color",$value:"#2b7fff4d"},"alpha-10p":{$type:"color",$value:"#2b7fff1a"},"alpha-20p":{$type:"color",$value:"#2b7fff33"}},"zinc-950-alpha":{5:{$type:"color",$value:"#09090b0d"},10:{$type:"color",$value:"#09090b1a"},15:{$type:"color",$value:"#09090b26"},20:{$type:"color",$value:"#09090b33"},25:{$type:"color",$value:"#09090b40"},30:{$type:"color",$value:"#09090b4d"},40:{$type:"color",$value:"#09090b66"},50:{$type:"color",$value:"#09090b80"},60:{$type:"color",$value:"#09090b99"},70:{$type:"color",$value:"#09090bb3"},75:{$type:"color",$value:"#09090bbf"},80:{$type:"color",$value:"#09090bcc"},85:{$type:"color",$value:"#09090bd9"},90:{$type:"color",$value:"#09090be6"},95:{$type:"color",$value:"#09090bf2"}},"zinc-50-alpha":{5:{$type:"color",$value:"#fafafa0d"},10:{$type:"color",$value:"#fafafa1a"},15:{$type:"color",$value:"#fafafa26"},20:{$type:"color",$value:"#fafafa33"},25:{$type:"color",$value:"#fafafa40"},30:{$type:"color",$value:"#fafafa4d"},40:{$type:"color",$value:"#fafafa66"},50:{$type:"color",$value:"#fafafa80"},60:{$type:"color",$value:"#fafafa99"},70:{$type:"color",$value:"#fafafab3"},75:{$type:"color",$value:"#fafafabf"},80:{$type:"color",$value:"#fafafacc"},85:{$type:"color",$value:"#fafafad9"},90:{$type:"color",$value:"#fafafae6"},95:{$type:"color",$value:"#fafafaf2"}},zinc:{50:{$type:"color",$value:"#fafafa"},100:{$type:"color",$value:"#f4f4f5"},200:{$type:"color",$value:"#e4e4e7"},300:{$type:"color",$value:"#d4d4d8"},400:{$type:"color",$value:"#9f9fa9"},500:{$type:"color",$value:"#71717b"},600:{$type:"color",$value:"#52525c"},700:{$type:"color",$value:"#3f3f46"},800:{$type:"color",$value:"#232326"},900:{$type:"color",$value:"#18181b"},950:{$type:"color",$value:"#09090b"}},base:{black:{$type:"color",$value:"#000000"},transparent:{$type:"color",$value:"#ffffff00"},white:{$type:"color",$value:"#ffffff"}},yellow:{400:{$type:"color",$value:"#fcc800"},500:{$type:"color",$value:"#efb100"},"alpha-50p":{$type:"color",$value:"#fcc80080"},"alpha-30p":{$type:"color",$value:"#fcc8004d"},"alpha-10p":{$type:"color",$value:"#fcc8001a"},"alpha-20p":{$type:"color",$value:"#fcc80033"}},primary:{"alpha-10p":{$type:"color",$value:"#155dfc1a"},"alpha-30p":{$type:"color",$value:"#155dfc4d"},stronger:{$type:"color",$value:"#003baf"},strong:{$type:"color",$value:"#154dd0"},"alpha-50p":{$type:"color",$value:"#155dfc80"},normal:{$type:"color",$value:"#155dfc"}},custom:{"gray-100":{$type:"color",$value:"#18181a"},"gray-200":{$type:"color",$value:"#1f1f22"},"gray-300":{$type:"color",$value:"#2a2a2d"}},violet:{500:{$type:"color",$value:"#8e51ff"},600:{$type:"color",$value:"#7f22fe"},"alpha-50p":{$type:"color",$value:"#8e51ff80"},"alpha-30p":{$type:"color",$value:"#8e51ff4d"},"alpha-20p":{$type:"color",$value:"#8e51ff33"},"alpha-10p":{$type:"color",$value:"#8e51ff1a"}},rainbow:{normal:{$type:"color",$value:"#e6331b"},strong:{$type:"color",$value:"#cf2d18"},stronger:{$type:"color",$value:"#b82815"},"alpha-50p":{$type:"color",$value:"#e6331b80"},"alpha-30p":{$type:"color",$value:"#e6331b4d"},"alpha-10p":{$type:"color",$value:"#e6331b1a"}},"icon-primary":{$type:"color",$value:"#5c9cff"},navy:{normal:{$type:"color",$value:"#0b558c"},strong:{$type:"color",$value:"#094a7a"},stronger:{$type:"color",$value:"#073e67"},"alpha-50p":{$type:"color",$value:"#0b558c80"},"alpha-30p":{$type:"color",$value:"#082a6c4d"},"alpha-10p":{$type:"color",$value:"#082a6c1a"},"alpha-20p":{$type:"color",$value:"#0b558c33"},"alpha-15p":{$type:"color",$value:"#0b558c26"}}}},L={"semantic color":JSON.parse('{"fg":{"default":{"$type":"color","$value":{"Dark":"{color.scale.zinc.50}","Light":"{color.scale.zinc.950}"}},"danger-subtle":{"$type":"color","$value":{"Dark":"{color.scale.red.alpha-30p}","Light":"{color.scale.red.alpha-50p}"}},"danger":{"$type":"color","$value":{"Dark":"{color.scale.red.500}","Light":"{color.scale.red.500}"}},"warning-subtle":{"$type":"color","$value":{"Dark":"{color.scale.orange.alpha-50p}","Light":"{color.scale.orange.alpha-50p}"}},"warning":{"$type":"color","$value":{"Dark":"{color.scale.orange.500}","Light":"{color.scale.orange.500}"}},"success-subtle":{"$type":"color","$value":{"Dark":"{color.scale.green.alpha-50p}","Light":"{color.scale.green.alpha-50p}"}},"success":{"$type":"color","$value":{"Dark":"{color.scale.green.500}","Light":"{color.scale.green.600}"}},"information-subtle":{"$type":"color","$value":{"Dark":"{color.scale.blue.alpha-50p}","Light":"{color.scale.blue.alpha-50p}"}},"information":{"$type":"color","$value":{"Dark":"{color.scale.blue.500}","Light":"{color.scale.blue.500}"}},"disabled":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.20}","Light":"{color.scale.zinc-950-alpha.25}"}},"inverse":{"$type":"color","$value":{"Dark":"{color.scale.zinc.950}","Light":"{color.scale.zinc.50}"}},"subtlest":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.30}","Light":"{color.scale.zinc-950-alpha.40}"}},"subtle":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.60}","Light":"{color.scale.zinc-950-alpha.70}"}},"subtler":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.40}","Light":"{color.scale.zinc-950-alpha.60}"}},"inverse-disabled":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.15}","Light":"{color.scale.zinc-50-alpha.20}"}},"brand":{"$type":"color","$value":{"Dark":"{color.scale.primary.normal}","Light":"{color.scale.primary.normal}"}},"brand-subtle":{"$type":"color","$value":{"Dark":"{color.scale.primary.alpha-50p}","Light":"{color.scale.primary.alpha-50p}"}},"default-hovered":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.80}","Light":"{color.scale.zinc-950-alpha.80}"}},"brand-hovered":{"$type":"color","$value":{"Dark":"{color.scale.primary.strong}","Light":"{color.scale.primary.strong}"}},"caution":{"$type":"color","$value":{"Dark":"{color.scale.yellow.400}","Light":"{color.scale.yellow.400}"}},"caution-subtle":{"$type":"color","$value":{"Dark":"{color.scale.yellow.alpha-50p}","Light":"{color.scale.yellow.alpha-50p}"}},"static-white":{"$type":"color","$value":{"Dark":"{color.scale.base.white}","Light":"{color.scale.base.white}"}},"static-white-subtle":{"$type":"color","$value":{"Dark":"{color.scale.zinc.500}","Light":"{color.scale.zinc.500}"}},"debug":{"$type":"color","$value":{"Dark":"{color.scale.violet.500}","Light":"{color.scale.violet.500}"}},"debug-subtle":{"$type":"color","$value":{"Dark":"{color.scale.violet.alpha-50p}","Light":"{color.scale.violet.alpha-50p}"}},"rb":{"$type":"color","$value":{"Dark":"{color.scale.rainbow.normal}","Light":"{color.scale.rainbow.normal}"}},"rb-subtle":{"$type":"color","$value":{"Dark":"{color.scale.rainbow.alpha-50p}","Light":"{color.scale.rainbow.alpha-50p}"}},"navy":{"$type":"color","$value":{"Dark":"{color.scale.navy.normal}","Light":"{color.scale.navy.normal}"}},"navy-subtle":{"$type":"color","$value":{"Dark":"{color.scale.navy.alpha-50p}","Light":"{color.scale.navy.alpha-50p}"}},"navy-hovered":{"$type":"color","$value":{"Dark":"{color.scale.navy.strong}","Light":"{color.scale.navy.strong}"}}},"border":{"default":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.30}","Light":"{color.scale.zinc-950-alpha.20}"}},"danger-stronger":{"$type":"color","$value":{"Dark":"{color.scale.red.500}","Light":"{color.scale.red.500}"}},"warning-stronger":{"$type":"color","$value":{"Dark":"{color.scale.orange.500}","Light":"{color.scale.orange.500}"}},"success-stronger":{"$type":"color","$value":{"Dark":"{color.scale.green.500}","Light":"{color.scale.green.500}"}},"information-stronger":{"$type":"color","$value":{"Dark":"{color.scale.blue.500}","Light":"{color.scale.blue.500}"}},"disabled":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.5}","Light":"{color.scale.zinc-950-alpha.5}"}},"inverse-stronger":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.90}","Light":"{color.scale.zinc-50-alpha.90}"}},"stronger":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.90}","Light":"{color.scale.zinc-950-alpha.90}"}},"inverse":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.20}","Light":"{color.scale.zinc-50-alpha.30}"}},"danger":{"$type":"color","$value":{"Dark":"{color.scale.red.alpha-50p}","Light":"{color.scale.red.alpha-50p}"}},"warning":{"$type":"color","$value":{"Dark":"{color.scale.orange.alpha-50p}","Light":"{color.scale.orange.alpha-50p}"}},"information":{"$type":"color","$value":{"Dark":"{color.scale.blue.alpha-50p}","Light":"{color.scale.blue.alpha-50p}"}},"success":{"$type":"color","$value":{"Dark":"{color.scale.green.alpha-50p}","Light":"{color.scale.green.alpha-50p}"}},"subtle":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.15}","Light":"{color.scale.zinc-950-alpha.15}"}},"input-focused":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.90}","Light":"{color.scale.zinc-950-alpha.90}"}},"inverse-disabled":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.10}","Light":"{color.scale.zinc-50-alpha.10}"}},"brand-stronger":{"$type":"color","$value":{"Dark":"{color.scale.primary.normal}","Light":"{color.scale.primary.normal}"}},"brand":{"$type":"color","$value":{"Dark":"{color.scale.primary.alpha-50p}","Light":"{color.scale.primary.alpha-50p}"}},"caution-stronger":{"$type":"color","$value":{"Dark":"{color.scale.yellow.400}","Light":"{color.scale.yellow.400}"}},"caution":{"$type":"color","$value":{"Dark":"{color.scale.yellow.alpha-50p}","Light":"{color.scale.yellow.alpha-50p}"}},"debug-stronger":{"$type":"color","$value":{"Dark":"{color.scale.violet.500}","Light":"{color.scale.violet.500}"}},"debug":{"$type":"color","$value":{"Dark":"{color.scale.violet.alpha-50p}","Light":"{color.scale.violet.alpha-50p}"}},"subtler":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.10}","Light":"{color.scale.zinc-950-alpha.10}"}},"rb-stronger":{"$type":"color","$value":{"Dark":"{color.scale.rainbow.normal}","Light":"{color.scale.rainbow.normal}"}},"rb":{"$type":"color","$value":{"Dark":"{color.scale.rainbow.alpha-50p}","Light":"{color.scale.rainbow.alpha-50p}"}},"navy-stronger":{"$type":"color","$value":{"Dark":"{color.scale.navy.normal}","Light":"{color.scale.navy.normal}"}},"navy":{"$type":"color","$value":{"Dark":"{color.scale.navy.alpha-50p}","Light":"{color.scale.navy.alpha-50p}"}}},"fill":{"danger-subtle":{"$type":"color","$value":{"Dark":"{color.scale.red.alpha-30p}","Light":"{color.scale.red.alpha-30p}"}},"danger":{"$type":"color","$value":{"Dark":"{color.scale.red.500}","Light":"{color.scale.red.500}"}},"warning-subtle":{"$type":"color","$value":{"Dark":"{color.scale.orange.alpha-30p}","Light":"{color.scale.orange.alpha-30p}"}},"warning":{"$type":"color","$value":{"Dark":"{color.scale.orange.500}","Light":"{color.scale.orange.500}"}},"success-subtle":{"$type":"color","$value":{"Dark":"{color.scale.green.alpha-30p}","Light":"{color.scale.green.alpha-30p}"}},"success":{"$type":"color","$value":{"Dark":"{color.scale.green.500}","Light":"{color.scale.green.500}"}},"information-subtle":{"$type":"color","$value":{"Dark":"{color.scale.blue.alpha-30p}","Light":"{color.scale.blue.alpha-30p}"}},"information":{"$type":"color","$value":{"Dark":"{color.scale.blue.500}","Light":"{color.scale.blue.500}"}},"disabled":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.5}","Light":"{color.scale.zinc-950-alpha.5}"}},"control surface":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.50}","Light":"{color.scale.zinc.50}"}},"inverse":{"$type":"color","$value":{"Dark":"{color.scale.zinc.900}","Light":"{color.scale.zinc.100}"}},"inverse-hovered":{"$type":"color","$value":{"Dark":"{color.scale.zinc.700}","Light":"{color.scale.zinc.300}"}},"subtle":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.40}","Light":"{color.scale.zinc-950-alpha.40}"}},"subtle-hovered":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.30}","Light":"{color.scale.zinc-950-alpha.30}"}},"transparent":{"$type":"color","$value":{"Dark":"{color.scale.base.transparent}","Light":"{color.scale.base.transparent}"}},"transparent-hovered":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.5}","Light":"{color.scale.zinc-950-alpha.5}"}},"default":{"$type":"color","$value":{"Dark":"{color.scale.zinc.100}","Light":"{color.scale.zinc.900}"}},"default-hovered":{"$type":"color","$value":{"Dark":"{color.scale.zinc.300}","Light":"{color.scale.zinc.700}"}},"inverse-subtle":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.40}","Light":"{color.scale.zinc-50-alpha.40}"}},"inverse-subtle-hovered":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.30}","Light":"{color.scale.zinc-50-alpha.30}"}},"inverse-disabled":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.10}","Light":"{color.scale.zinc-50-alpha.10}"}},"brand":{"$type":"color","$value":{"Dark":"{color.scale.primary.normal}","Light":"{color.scale.primary.normal}"}},"brand-subtle":{"$type":"color","$value":{"Dark":"{color.scale.primary.alpha-50p}","Light":"{color.scale.primary.alpha-50p}"}},"subtler":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.20}","Light":"{color.scale.zinc-950-alpha.20}"}},"subtler-hovered":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.15}","Light":"{color.scale.zinc-950-alpha.15}"}},"brand-hovered":{"$type":"color","$value":{"Dark":"{color.scale.primary.strong}","Light":"{color.scale.primary.strong}"}},"control surface-hovered":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.30}","Light":"{color.scale.zinc.100}"}},"caution-subtle":{"$type":"color","$value":{"Dark":"{color.scale.yellow.alpha-30p}","Light":"{color.scale.yellow.alpha-30p}"}},"caution":{"$type":"color","$value":{"Dark":"{color.scale.yellow.400}","Light":"{color.scale.yellow.400}"}},"danger-subtler":{"$type":"color","$value":{"Dark":"{color.scale.red.alpha-20p}","Light":"{color.scale.red.alpha-20p}"}},"warning-subtler":{"$type":"color","$value":{"Dark":"{color.scale.orange.alpha-20p}","Light":"{color.scale.orange.alpha-20p}"}},"caution-subtler":{"$type":"color","$value":{"Dark":"{color.scale.yellow.alpha-20p}","Light":"{color.scale.yellow.alpha-20p}"}},"success-subtler":{"$type":"color","$value":{"Dark":"{color.scale.green.alpha-20p}","Light":"{color.scale.green.alpha-20p}"}},"information-subtler":{"$type":"color","$value":{"Dark":"{color.scale.blue.alpha-20p}","Light":"{color.scale.blue.alpha-20p}"}},"subtlest":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.10}","Light":"{color.scale.zinc-950-alpha.10}"}},"subtlest-hovered":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.5}","Light":"{color.scale.zinc-950-alpha.5}"}},"warning-subtlest":{"$type":"color","$value":{"Dark":"{color.scale.orange.alpha-10p}","Light":"{color.scale.orange.alpha-10p}"}},"caution-subtlest":{"$type":"color","$value":{"Dark":"{color.scale.yellow.alpha-10p}","Light":"{color.scale.yellow.alpha-10p}"}},"information-subtlest":{"$type":"color","$value":{"Dark":"{color.scale.blue.alpha-10p}","Light":"{color.scale.blue.alpha-10p}"}},"success-subtlest":{"$type":"color","$value":{"Dark":"{color.scale.green.alpha-10p}","Light":"{color.scale.green.alpha-10p}"}},"danger-subtlest":{"$type":"color","$value":{"Dark":"{color.scale.red.alpha-10p}","Light":"{color.scale.red.alpha-10p}"}},"danger-hovered":{"$type":"color","$value":{"Dark":"{color.scale.red.600}","Light":"{color.scale.red.600}"}},"warning-hovered":{"$type":"color","$value":{"Dark":"{color.scale.orange.600}","Light":"{color.scale.orange.600}"}},"caution-hovered":{"$type":"color","$value":{"Dark":"{color.scale.yellow.500}","Light":"{color.scale.yellow.500}"}},"information-hovered":{"$type":"color","$value":{"Dark":"{color.scale.blue.600}","Light":"{color.scale.blue.600}"}},"success-hovered":{"$type":"color","$value":{"Dark":"{color.scale.green.600}","Light":"{color.scale.green.600}"}},"debug":{"$type":"color","$value":{"Dark":"{color.scale.violet.500}","Light":"{color.scale.violet.500}"}},"debug-hovered":{"$type":"color","$value":{"Dark":"{color.scale.violet.600}","Light":"{color.scale.violet.600}"}},"debug-subtle":{"$type":"color","$value":{"Dark":"{color.scale.violet.alpha-30p}","Light":"{color.scale.violet.alpha-30p}"}},"debug-subtler":{"$type":"color","$value":{"Dark":"{color.scale.violet.alpha-20p}","Light":"{color.scale.violet.alpha-20p}"}},"debug-subtlest":{"$type":"color","$value":{"Dark":"{color.scale.violet.alpha-10p}","Light":"{color.scale.violet.alpha-10p}"}},"control surface-disabled":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.25}","Light":"{color.scale.zinc.50}"}},"brand-subtler":{"$type":"color","$value":{"Dark":"{color.scale.primary.alpha-30p}","Light":"{color.scale.primary.alpha-30p}"}},"rb":{"$type":"color","$value":{"Dark":"{color.scale.rainbow.normal}","Light":"{color.scale.rainbow.normal}"}},"rb-hovered":{"$type":"color","$value":{"Dark":"{color.scale.rainbow.strong}","Light":"{color.scale.rainbow.strong}"}},"rb-subtle":{"$type":"color","$value":{"Dark":"{color.scale.rainbow.alpha-50p}","Light":"{color.scale.rainbow.alpha-50p}"}},"rb-subtler":{"$type":"color","$value":{"Dark":"{color.scale.rainbow.alpha-30p}","Light":"{color.scale.rainbow.alpha-30p}"}},"rb-subtlest":{"$type":"color","$value":{"Dark":"{color.scale.rainbow.alpha-10p}","Light":"{color.scale.rainbow.alpha-10p}"}},"icon-program":{"$type":"color","$value":{"Dark":"{color.scale.icon-primary}","Light":"{color.scale.icon-primary}"}},"brand-subtlest":{"$type":"color","$value":{"Dark":"{color.scale.primary.alpha-10p}","Light":"{color.scale.primary.alpha-10p}"}},"navy":{"$type":"color","$value":{"Dark":"{color.scale.navy.normal}","Light":"{color.scale.navy.normal}"}},"navy-hovered":{"$type":"color","$value":{"Dark":"{color.scale.navy.strong}","Light":"{color.scale.navy.strong}"}},"navy-subtle":{"$type":"color","$value":{"Dark":"{color.scale.navy.alpha-50p}","Light":"{color.scale.navy.alpha-50p}"}},"navy-subtler":{"$type":"color","$value":{"Dark":"{color.scale.navy.alpha-20p}","Light":"{color.scale.navy.alpha-20p}"}},"navy-subtlest":{"$type":"color","$value":{"Dark":"{color.scale.navy.alpha-15p}","Light":"{color.scale.navy.alpha-15p}"}}},"bg":{"dim":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.80}","Light":"{color.scale.zinc-950-alpha.50}"}},"default":{"$type":"color","$value":{"Dark":"{color.scale.zinc.950}","Light":"{color.scale.zinc.50}"}},"overlay":{"$type":"color","$value":{"Dark":"{color.scale.zinc.700}","Light":"{color.scale.zinc.100}"}},"inverse":{"$type":"color","$value":{"Dark":"{color.scale.base.white}","Light":"{color.scale.zinc.950}"}},"raised":{"$type":"color","$value":{"Dark":"{color.scale.custom.gray-300}","Light":"{color.scale.zinc.100}"}},"card":{"$type":"color","$value":{"Dark":"{color.scale.zinc-50-alpha.10}","Light":"{color.scale.base.white}"}},"alt-1":{"$type":"color","$value":{"Dark":"{color.scale.zinc.900}","Light":"{color.scale.zinc.200}"}},"alt-2":{"$type":"color","$value":{"Dark":"{color.scale.zinc.800}","Light":"{color.scale.zinc.300}"}},"translucent":{"$type":"color","$value":{"Dark":"{color.scale.zinc-950-alpha.60}","Light":"{color.scale.zinc-50-alpha.50}"}},"overlay-high":{"$type":"color","$value":{"Dark":"{color.scale.zinc.600}","Light":"{color.scale.zinc.200}"}},"tooltip":{"$type":"color","$value":{"Dark":"{color.scale.zinc.50}","Light":"{color.scale.zinc.900}"}}}}')},m=e=>{f({text:e}),alert("복사가 완료되었습니다.")},D=e=>typeof e=="object"&&e!==null&&"$value"in e,h=(e,a=[])=>{if(D(e))return[a.join("-")];const o=[];return Object.entries(e).forEach(([r,s])=>{r.startsWith("$")||o.push(...h(s,[...a,r]))}),o},z=()=>{const e=k["scale color"];return Object.entries(e).map(([a,o])=>{const r=h(o,[a]);return{title:a,tokens:r.map(s=>`bg-scale-${s}`)}})},x=()=>{const e=L["semantic color"];return Object.entries(e).map(([a,o])=>{const r=h(o,[a]);return{title:a,tokens:r}})},i=z(),$=x(),j={backgroundColor:"#f1f1f4",backgroundImage:"linear-gradient(45deg, #bfbfc7 25%, transparent 25%), linear-gradient(-45deg, #bfbfc7 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #bfbfc7 75%), linear-gradient(-45deg, transparent 75%, #bfbfc7 75%)",backgroundSize:"10px 10px",backgroundPosition:"0 0, 0 5px, 5px -5px, -5px 0px"},w=e=>e.includes("alpha")||e.includes("transparent"),C=e=>e.startsWith("bg-scale-")?`--color-scale-${e.replace(/^bg-scale-/,"")}`:`--color-${e}`,N=({utility:e})=>{const a=C(e),o=w(e);return l.jsxs("button",{type:"button",className:"border-default bg-default cursor-copy rounded-md border p-2 text-left",onClick:()=>m(e),title:`Copy ${e}`,children:[l.jsx("div",{className:"border-subtle relative h-10 overflow-hidden rounded border",style:o?j:void 0,children:l.jsx("div",{className:"absolute inset-0",style:{backgroundColor:`var(${a})`}})}),l.jsx("p",{className:"text-subtle mt-2 text-sm break-all",children:e}),l.jsx("p",{className:"text-subtler mt-1 text-sm break-all",children:a})]})},u=({title:e,tokens:a})=>l.jsxs("section",{className:"border-default bg-default text-default space-y-2 rounded-lg border p-4",children:[l.jsx("h4",{className:"text-base font-semibold capitalize",children:e}),l.jsx("div",{className:"grid gap-2 sm:grid-cols-2 xl:grid-cols-3",children:a.map(o=>l.jsx(N,{utility:o},o))})]}),d=()=>{var e,a;return l.jsxs(p,{defaultValue:"scale",className:"w-full",children:[l.jsxs(n,{className:"border-default bg-default text-default supports-[backdrop-filter]:bg-default sticky top-2 z-20 mb-3 rounded-lg border p-1 shadow-sm backdrop-blur",children:[l.jsx(c,{value:"scale",children:"Scale"}),l.jsx(c,{value:"semantic",children:"Semantic"})]}),l.jsx(t,{value:"scale",className:"text-default",children:l.jsxs(p,{defaultValue:((e=i[0])==null?void 0:e.title)||"",className:"w-full",children:[l.jsx(n,{className:"border-default bg-default text-default supports-[backdrop-filter]:bg-default sticky top-14 z-10 mb-3 rounded-lg border p-1 shadow-sm backdrop-blur",children:i.map(o=>l.jsx(c,{value:o.title,children:o.title},o.title))}),i.map(o=>l.jsx(t,{value:o.title,className:"text-default",children:l.jsx(u,{title:o.title,tokens:o.tokens})},o.title))]})}),l.jsx(t,{value:"semantic",className:"text-default",children:l.jsxs(p,{defaultValue:((a=$[0])==null?void 0:a.title)||"",className:"w-full",children:[l.jsx(n,{className:"border-default bg-default text-default supports-[backdrop-filter]:bg-default sticky top-14 z-10 mb-3 rounded-lg border p-1 shadow-sm backdrop-blur",children:$.map(o=>l.jsx(c,{value:o.title,children:o.title},o.title))}),$.map(o=>l.jsx(t,{value:o.title,className:"text-default",children:l.jsx(u,{title:o.title,tokens:o.tokens})},o.title))]})})]})};d.__docgenInfo={description:"",methods:[],displayName:"ColorPreview"};function v(e){const a={code:"code",h1:"h1",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...y(),...e.components};return l.jsxs(l.Fragment,{children:[l.jsx(g,{title:"1.foundations/color"}),`
|
|
2
|
+
`,l.jsx(a.h1,{id:"color",children:"Color"}),`
|
|
3
|
+
`,l.jsxs(a.p,{children:[l.jsx(a.code,{children:"rb-token.css"}),"에 정의된 색상 토큰 전체를 미리보기에서 확인합니다."]}),`
|
|
4
|
+
`,l.jsx(a.pre,{children:l.jsx(a.code,{className:"language-tsx",children:`<div className="bg-default text-default border border-default" />
|
|
5
|
+
<div className="bg-fill-brand text-inverse" />
|
|
6
|
+
<div className="text-danger" />
|
|
7
|
+
`})}),`
|
|
8
|
+
`,l.jsx(a.h3,{id:"구성",children:"구성"}),`
|
|
9
|
+
`,l.jsxs(a.ul,{children:[`
|
|
10
|
+
`,l.jsxs(a.li,{children:[l.jsx(a.code,{children:"Scale"}),": 원본 팔레트 토큰"]}),`
|
|
11
|
+
`,l.jsxs(a.li,{children:[l.jsx(a.code,{children:"Semantic"}),": 역할 기반 토큰"]}),`
|
|
12
|
+
`]}),`
|
|
13
|
+
`,l.jsx(a.h3,{id:"분류",children:"분류"}),`
|
|
14
|
+
`,l.jsxs(a.ul,{children:[`
|
|
15
|
+
`,l.jsxs(a.li,{children:[l.jsx(a.code,{children:"Scale"}),": ",l.jsx(a.code,{children:"red"}),", ",l.jsx(a.code,{children:"orange"}),", ",l.jsx(a.code,{children:"green"}),", ",l.jsx(a.code,{children:"blue"}),", ",l.jsx(a.code,{children:"zinc"}),", ",l.jsx(a.code,{children:"zinc-950"}),", ",l.jsx(a.code,{children:"zinc-50"}),", ",l.jsx(a.code,{children:"black"}),", ",l.jsx(a.code,{children:"white"}),", ",l.jsx(a.code,{children:"primary"}),", ",l.jsx(a.code,{children:"yellow"})]}),`
|
|
16
|
+
`,l.jsxs(a.li,{children:[l.jsx(a.code,{children:"Semantic"}),": ",l.jsx(a.code,{children:"foreground"}),", ",l.jsx(a.code,{children:"border"}),", ",l.jsx(a.code,{children:"fill"}),", ",l.jsx(a.code,{children:"background"}),", ",l.jsx(a.code,{children:"accent"})]}),`
|
|
17
|
+
`]}),`
|
|
18
|
+
`,l.jsx(a.p,{children:"투명/alpha 계열 토큰은 체커보드 배경 위에 표시됩니다."}),`
|
|
19
|
+
`,l.jsx("br",{}),`
|
|
20
|
+
`,l.jsx(b,{children:l.jsx(d,{})})]})}function G(e={}){const{wrapper:a}={...y(),...e.components};return a?l.jsx(a,{...e,children:l.jsx(v,{...e})}):v(e)}export{G as default};
|