@gjsify/adwaita-core 0.64.2 → 0.64.3-next.259

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.
Files changed (33) hide show
  1. package/lib/esm/about-dialog.js +5 -3
  2. package/lib/esm/conformance/about-dialog-doors.js +1 -1
  3. package/lib/esm/conformance/about-dialog.js +9 -1
  4. package/lib/esm/conformance/glib-language.js +1 -0
  5. package/lib/esm/conformance/glib-unichar.js +1 -0
  6. package/lib/esm/conformance/glib-variant.js +2 -0
  7. package/lib/esm/conformance/index.js +1 -1
  8. package/lib/esm/glib-language.js +1 -0
  9. package/lib/esm/glib-unichar.generated.js +1 -0
  10. package/lib/esm/glib-unichar.js +1 -0
  11. package/lib/esm/glib-variant.js +1 -0
  12. package/lib/esm/gobject.js +1 -1
  13. package/lib/esm/index.js +1 -1
  14. package/lib/esm/release-notes.js +7 -7
  15. package/lib/types/about-dialog.d.ts +81 -0
  16. package/lib/types/conformance/about-dialog.d.ts +63 -16
  17. package/lib/types/conformance/glib-language.d.ts +44 -0
  18. package/lib/types/conformance/glib-unichar.d.ts +20 -0
  19. package/lib/types/conformance/glib-variant.d.ts +37 -0
  20. package/lib/types/conformance/index.d.ts +8 -2
  21. package/lib/types/engine.d.ts +42 -1
  22. package/lib/types/glib-language.d.ts +14 -0
  23. package/lib/types/glib-language.gjs.spec.d.ts +2 -0
  24. package/lib/types/glib-language.spec.d.ts +2 -0
  25. package/lib/types/glib-unichar.d.ts +7 -0
  26. package/lib/types/glib-unichar.generated.d.ts +6 -0
  27. package/lib/types/glib-unichar.gjs.spec.d.ts +2 -0
  28. package/lib/types/glib-unichar.spec.d.ts +2 -0
  29. package/lib/types/glib-variant.d.ts +23 -0
  30. package/lib/types/glib-variant.gjs.spec.d.ts +2 -0
  31. package/lib/types/glib-variant.spec.d.ts +2 -0
  32. package/lib/types/index.d.ts +7 -3
  33. package/package.json +5 -4
@@ -1,3 +1,5 @@
1
- import"./_virtual/_rolldown/runtime.js";import{gStrStrip as e}from"./glib.js";import{UnsupportedGObjectError as t}from"./gobject.js";const n={UNKNOWN:0,CUSTOM:1,GPL_2_0:2,GPL_3_0:3,LGPL_2_1:4,LGPL_3_0:5,BSD:6,MIT_X11:7,ARTISTIC:8,GPL_2_0_ONLY:9,GPL_3_0_ONLY:10,LGPL_2_1_ONLY:11,LGPL_3_0_ONLY:12,AGPL_3_0:13,AGPL_3_0_ONLY:14,BSD_3:15,APACHE_2_0:16,MPL_2_0:17,"0BSD":18},r=[{name:null,url:null,spdxId:null},{name:null,url:null,spdxId:null},{name:`GNU General Public License, version 2 or later`,url:`https://www.gnu.org/licenses/old-licenses/gpl-2.0.html`,spdxId:`GPL-2.0-or-later`},{name:`GNU General Public License, version 3 or later`,url:`https://www.gnu.org/licenses/gpl-3.0.html`,spdxId:`GPL-3.0-or-later`},{name:`GNU Lesser General Public License, version 2.1 or later`,url:`https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html`,spdxId:`LGPL-2.1-or-later`},{name:`GNU Lesser General Public License, version 3 or later`,url:`https://www.gnu.org/licenses/lgpl-3.0.html`,spdxId:`LGPL-3.0-or-later`},{name:`BSD 2-Clause License`,url:`https://opensource.org/licenses/bsd-license.php`,spdxId:`BSD-2-Clause`},{name:`The MIT License (MIT)`,url:`https://opensource.org/licenses/mit-license.php`,spdxId:`MIT`},{name:`Artistic License 2.0`,url:`https://opensource.org/licenses/artistic-license-2.0.php`,spdxId:`Artistic-2.0`},{name:`GNU General Public License, version 2 only`,url:`https://www.gnu.org/licenses/old-licenses/gpl-2.0.html`,spdxId:`GPL-2.0-only`},{name:`GNU General Public License, version 3 only`,url:`https://www.gnu.org/licenses/gpl-3.0.html`,spdxId:`GPL-3.0-only`},{name:`GNU Lesser General Public License, version 2.1 only`,url:`https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html`,spdxId:`LGPL-2.1-only`},{name:`GNU Lesser General Public License, version 3 only`,url:`https://www.gnu.org/licenses/lgpl-3.0.html`,spdxId:`LGPL-3.0-only`},{name:`GNU Affero General Public License, version 3 or later`,url:`https://www.gnu.org/licenses/agpl-3.0.html`,spdxId:`AGPL-3.0-or-later`},{name:`GNU Affero General Public License, version 3 only`,url:`https://www.gnu.org/licenses/agpl-3.0.html`,spdxId:`AGPL-3.0-only`},{name:`BSD 3-Clause License`,url:`https://opensource.org/licenses/BSD-3-Clause`,spdxId:`BSD-3-Clause`},{name:`Apache License, Version 2.0`,url:`https://opensource.org/licenses/Apache-2.0`,spdxId:`Apache-2.0`},{name:`Mozilla Public License 2.0`,url:`https://opensource.org/licenses/MPL-2.0`,spdxId:`MPL-2.0`},{name:`BSD Zero-Clause License`,url:`https://opensource.org/license/0bsd`,spdxId:`0BSD`}],i=[{spdxId:`GPL-2.0`,licenseType:n.GPL_2_0_ONLY},{spdxId:`GPL-3.0`,licenseType:n.GPL_3_0_ONLY}],a=`This application comes with absolutely no warranty. See the <a href="%s">%s</a> for details.`;function isLicenseType(e){return Number.isInteger(e)&&e>=n.UNKNOWN&&e<r.length}function licenseTypeForSpdxId(e){for(let t=0;t<r.length;t++)if(r[t].spdxId===e)return t;for(let t of i)if(t.spdxId===e)return t.licenseType;return null}function licenseText(e,t){if(e===n.UNKNOWN)return null;if(e===n.CUSTOM)return t;let i=r[e];return a.replace(`%s`,()=>i.url??``).replace(`%s`,()=>i.name??``)}const o={license:``,licenseType:n.UNKNOWN},UNCHANGED=e=>({state:e,changed:!1,notify:[]});function setLicenseType(e,t){return!isLicenseType(t)||e.licenseType===t?UNCHANGED(e):{state:{license:t===n.CUSTOM?e.license:``,licenseType:t},changed:!0,notify:[`license`,`license-type`]}}function setLicense(e,t){return e.license===t?UNCHANGED(e):{state:{license:t,licenseType:n.CUSTOM},changed:!0,notify:[`license`,`license-type`]}}function indexOfUrlEnd(e,t){for(let n=t;n<e.length;n++)if(`
2
- >`.includes(e[n]))return n;return-1}function parseCreditPerson(t){let n=t.indexOf(`<`),r=n<0?-1:t.indexOf(`>`,n),i=t.indexOf(`http://`),a=t.indexOf(`https://`),o=i;(i<0||a>=0&&a<i)&&(o=a);let s=-1;o>=0&&(s=indexOfUrlEnd(t,o),s<0&&(s=t.length)),o>=0&&(n<0||r<0||o<=n+1)&&(n=o,r=s);let c,l,u;return n>=0&&r>=0?(c=t.slice(0,n),u=t[n]===`<`,l=u?t.slice(n+1,r):t.slice(n,r)):(c=t,l=null,u=!1),c=e(c),{name:c,link:l,isEmail:u,uri:l===null?null:u?`mailto:${l}`:l}}const s=[`translator_credits`,`translator-credits`];function translatorCreditsPeople(e){return e==null||s.includes(e)||e.length===0?[]:e.split(`
3
- `)}const c={developers:`Code by`,designers:`Design by`,artists:`Artwork by`,documenters:`Documentation by`,translators:`Translated by`};function creditsSections(e={}){return[{title:c.developers,people:e.developers??[]},{title:c.designers,people:e.designers??[]},{title:c.artists,people:e.artists??[]},{title:c.documenters,people:e.documenters??[]},{title:c.translators,people:translatorCreditsPeople(e.translatorCredits)},...e.creditSections??[]].filter(e=>e.people.length>0).map(e=>({title:e.title,people:e.people.map(parseCreditPerson)}))}const l={dialogTitle:`About`,whatsNewRow:`What’s _New`,detailsRow:`_Details`,websiteRow:`_Website`,supportRow:`_Support Questions`,issueRow:`_Report an Issue`,troubleshootingRow:`_Troubleshooting`,creditsRow:`_Credits`,legalRow:`_Legal`,acknowledgementsRow:`_Acknowledgements`,whatsNewPage:`What’s New`,detailsPage:`Details`,troubleshootingPage:`Troubleshooting`,creditsPage:`Credits`,legalPage:`Legal`,acknowledgementsPage:`Acknowledgements`,troubleshootingIntro:`To assist in troubleshooting, you can view your debugging information. Providing this information to the application developers can help diagnose any problems you encounter when you report an issue.`,debugInfoRow:`_Debugging Information`,debugInfoPage:`Debugging Information`,copyText:`_Copy Text`,copiedToast:`Copied to clipboard`,releaseNotesHeading:`Version %s`,releaseNotesError:`Unable to parse release notes:`,releaseNotesErrorPosition:`Line: %d, character: %d`};function aboutDialogVisibility(e={}){let t=(e.website??``).length>0,n=(e.comments??``).length>0,r=(e.releaseNotes??``).length>0,i=e.hasCustomLinks??!1,a=n||i,o=t&&n||i,s=(e.supportUrl??``).length>0,c=(e.issueUrl??``).length>0,l=(e.debugInfo??``).length>0,u=e.hasCredits??!1,d=e.hasLegal??!1,f=e.hasAcknowledgements??!1;return{appIcon:(e.applicationIcon??``).length>0,appName:(e.applicationName??``).length>0,developerName:(e.developerName??``).length>0,version:(e.version??``).length>0,detailsGroup:t||n||o||r,whatsNewRow:r,detailsRow:n||o,websiteRow:t&&!a,supportGroup:s||c||l,supportRow:s,issueRow:c,troubleshootingRow:l,creditsLegalGroup:u||d||f,creditsRow:u,legalRow:d,acknowledgementsRow:f,commentsLabel:n,linksGroup:o,detailsWebsiteRow:t&&a}}function legalSectionVisible(e,t,n){let r=licenseText(t,n);return e.length>0||r!==null&&r.length>0}function refuseNewFromAppdata(){let e=`Adw.AboutDialog.new_from_appdata`;throw new t(e,`${e} is outside the subset: it reads AppStream metadata, which no port parses. Construct the dialog and set its properties instead.`)}export{l as ADW_ABOUT_DIALOG_LABELS,c as ADW_CREDITS_SECTION_TITLES,r as ADW_LICENSES,i as ADW_LICENSE_ALIASES,o as ADW_LICENSE_DEFAULTS,a as ADW_LICENSE_WARRANTY_TEMPLATE,s as ADW_TRANSLATOR_CREDITS_SENTINELS,n as GTK_LICENSE,aboutDialogVisibility,creditsSections,isLicenseType,legalSectionVisible,licenseText,licenseTypeForSpdxId,parseCreditPerson,refuseNewFromAppdata,setLicense,setLicenseType,translatorCreditsPeople};
1
+ import"./_virtual/_rolldown/runtime.js";import{gStrStrip as e}from"./glib.js";import{UnsupportedGObjectError as t}from"./gobject.js";import{stripMarkup as n}from"./pango-markup.js";const r={UNKNOWN:0,CUSTOM:1,GPL_2_0:2,GPL_3_0:3,LGPL_2_1:4,LGPL_3_0:5,BSD:6,MIT_X11:7,ARTISTIC:8,GPL_2_0_ONLY:9,GPL_3_0_ONLY:10,LGPL_2_1_ONLY:11,LGPL_3_0_ONLY:12,AGPL_3_0:13,AGPL_3_0_ONLY:14,BSD_3:15,APACHE_2_0:16,MPL_2_0:17,"0BSD":18},i=[{name:null,url:null,spdxId:null},{name:null,url:null,spdxId:null},{name:`GNU General Public License, version 2 or later`,url:`https://www.gnu.org/licenses/old-licenses/gpl-2.0.html`,spdxId:`GPL-2.0-or-later`},{name:`GNU General Public License, version 3 or later`,url:`https://www.gnu.org/licenses/gpl-3.0.html`,spdxId:`GPL-3.0-or-later`},{name:`GNU Lesser General Public License, version 2.1 or later`,url:`https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html`,spdxId:`LGPL-2.1-or-later`},{name:`GNU Lesser General Public License, version 3 or later`,url:`https://www.gnu.org/licenses/lgpl-3.0.html`,spdxId:`LGPL-3.0-or-later`},{name:`BSD 2-Clause License`,url:`https://opensource.org/licenses/bsd-license.php`,spdxId:`BSD-2-Clause`},{name:`The MIT License (MIT)`,url:`https://opensource.org/licenses/mit-license.php`,spdxId:`MIT`},{name:`Artistic License 2.0`,url:`https://opensource.org/licenses/artistic-license-2.0.php`,spdxId:`Artistic-2.0`},{name:`GNU General Public License, version 2 only`,url:`https://www.gnu.org/licenses/old-licenses/gpl-2.0.html`,spdxId:`GPL-2.0-only`},{name:`GNU General Public License, version 3 only`,url:`https://www.gnu.org/licenses/gpl-3.0.html`,spdxId:`GPL-3.0-only`},{name:`GNU Lesser General Public License, version 2.1 only`,url:`https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html`,spdxId:`LGPL-2.1-only`},{name:`GNU Lesser General Public License, version 3 only`,url:`https://www.gnu.org/licenses/lgpl-3.0.html`,spdxId:`LGPL-3.0-only`},{name:`GNU Affero General Public License, version 3 or later`,url:`https://www.gnu.org/licenses/agpl-3.0.html`,spdxId:`AGPL-3.0-or-later`},{name:`GNU Affero General Public License, version 3 only`,url:`https://www.gnu.org/licenses/agpl-3.0.html`,spdxId:`AGPL-3.0-only`},{name:`BSD 3-Clause License`,url:`https://opensource.org/licenses/BSD-3-Clause`,spdxId:`BSD-3-Clause`},{name:`Apache License, Version 2.0`,url:`https://opensource.org/licenses/Apache-2.0`,spdxId:`Apache-2.0`},{name:`Mozilla Public License 2.0`,url:`https://opensource.org/licenses/MPL-2.0`,spdxId:`MPL-2.0`},{name:`BSD Zero-Clause License`,url:`https://opensource.org/license/0bsd`,spdxId:`0BSD`}],a=[{spdxId:`GPL-2.0`,licenseType:r.GPL_2_0_ONLY},{spdxId:`GPL-3.0`,licenseType:r.GPL_3_0_ONLY}],o=`This application comes with absolutely no warranty. See the <a href="%s">%s</a> for details.`;function isLicenseType(e){return Number.isInteger(e)&&e>=r.UNKNOWN&&e<i.length}function licenseTypeForSpdxId(e){for(let t=0;t<i.length;t++)if(i[t].spdxId===e)return t;for(let t of a)if(t.spdxId===e)return t.licenseType;return null}function licenseText(e,t){if(e===r.UNKNOWN)return null;if(e===r.CUSTOM)return t;let n=i[e];return o.replace(`%s`,()=>n.url??``).replace(`%s`,()=>n.name??``)}const s={license:``,licenseType:r.UNKNOWN},UNCHANGED=e=>({state:e,changed:!1,notify:[]});function setLicenseType(e,t){return!isLicenseType(t)||e.licenseType===t?UNCHANGED(e):{state:{license:t===r.CUSTOM?e.license:``,licenseType:t},changed:!0,notify:[`license`,`license-type`]}}function setLicense(e,t){return e.license===t?UNCHANGED(e):{state:{license:t,licenseType:r.CUSTOM},changed:!0,notify:[`license`,`license-type`]}}function indexOfUrlEnd(e,t){for(let n=t;n<e.length;n++)if(`
2
+ >`.includes(e[n]))return n;return-1}function parseCreditPerson(t){let n=t.indexOf(`<`),r=n<0?-1:t.indexOf(`>`,n),i=t.indexOf(`http://`),a=t.indexOf(`https://`),o=i;(i<0||a>=0&&a<i)&&(o=a);let s=-1;o>=0&&(s=indexOfUrlEnd(t,o),s<0&&(s=t.length)),o>=0&&(n<0||r<0||o<=n+1)&&(n=o,r=s);let c,l,u;return n>=0&&r>=0?(c=t.slice(0,n),u=t[n]===`<`,l=u?t.slice(n+1,r):t.slice(n,r)):(c=t,l=null,u=!1),c=e(c),{name:c,link:l,isEmail:u,uri:l===null?null:u?`mailto:${l}`:l}}const c=[`translator_credits`,`translator-credits`];function translatorCreditsPeople(e){return e==null||c.includes(e)||e.length===0?[]:e.split(`
3
+ `)}const l={developers:`Code by`,designers:`Design by`,artists:`Artwork by`,documenters:`Documentation by`,translators:`Translated by`};function creditsSections(e={}){return creditGroups([{title:l.developers,people:e.developers??[]},{title:l.designers,people:e.designers??[]},{title:l.artists,people:e.artists??[]},{title:l.documenters,people:e.documenters??[]},{title:l.translators,people:translatorCreditsPeople(e.translatorCredits)},...e.creditSections??[]])}function creditGroups(e){return e.filter(e=>e.people.length>0).map(e=>({title:e.title,people:e.people.map(parseCreditPerson)}))}function acknowledgementSections(e=[]){return creditGroups(e)}const u=`This Application`;function legalMarkup(e,t,n){let r=licenseText(t,n??``);return[e??``,r??``].filter(e=>e.length>0).join(`
4
+
5
+ `)}function legalSections(e){let t=e.legalSections??[],n=[];legalSectionVisible(e.copyright,e.licenseType,e.license)&&n.push({title:t.length>0?u:null,markup:legalMarkup(e.copyright,e.licenseType,e.license)});for(let e of t){let t=e.title.length>0?e.title:null,r=legalMarkup(e.copyright,e.licenseType,e.license);(t!==null||r.length>0)&&n.push({title:t,markup:r})}return n}function legalMarkupText(e){return n(e.replace(/<a\s+href="[^"]*">([\s\S]*?)<\/a>/g,`$1`))??e}function legalVisible(e){return(e.legalSections??[]).length>0||legalSectionVisible(e.copyright,e.licenseType,e.license)}function licenseTypeForNick(e){for(let[t,n]of Object.entries(r))if(t.toLowerCase().replace(/_/g,`-`)===e)return n;return null}const d={dialogTitle:`About`,whatsNewRow:`What’s _New`,detailsRow:`_Details`,websiteRow:`_Website`,supportRow:`_Support Questions`,issueRow:`_Report an Issue`,troubleshootingRow:`_Troubleshooting`,creditsRow:`_Credits`,legalRow:`_Legal`,acknowledgementsRow:`_Acknowledgements`,whatsNewPage:`What’s New`,detailsPage:`Details`,troubleshootingPage:`Troubleshooting`,creditsPage:`Credits`,legalPage:`Legal`,acknowledgementsPage:`Acknowledgements`,troubleshootingIntro:`To assist in troubleshooting, you can view your debugging information. Providing this information to the application developers can help diagnose any problems you encounter when you report an issue.`,debugInfoRow:`_Debugging Information`,debugInfoPage:`Debugging Information`,copyText:`_Copy Text`,copiedToast:`Copied to clipboard`,releaseNotesHeading:`Version %s`,releaseNotesError:`Unable to parse release notes:`,releaseNotesErrorPosition:`Line: %d, character: %d`};function aboutDialogVisibility(e={}){let t=(e.website??``).length>0,n=(e.comments??``).length>0,r=(e.releaseNotes??``).length>0,i=e.hasCustomLinks??!1,a=n||i,o=t&&n||i,s=(e.supportUrl??``).length>0,c=(e.issueUrl??``).length>0,l=(e.debugInfo??``).length>0,u=e.hasCredits??!1,d=e.hasLegal??!1,f=e.hasAcknowledgements??!1;return{appIcon:(e.applicationIcon??``).length>0,appName:(e.applicationName??``).length>0,developerName:(e.developerName??``).length>0,version:(e.version??``).length>0,detailsGroup:t||n||o||r,whatsNewRow:r,detailsRow:n||o,websiteRow:t&&!a,supportGroup:s||c||l,supportRow:s,issueRow:c,troubleshootingRow:l,creditsLegalGroup:u||d||f,creditsRow:u,legalRow:d,acknowledgementsRow:f,commentsLabel:n,linksGroup:o,detailsWebsiteRow:t&&a}}function flatCardShowsWebsite(e){return e.websiteRow||e.detailsWebsiteRow}function legalSectionVisible(e,t,n){let r=licenseText(t,n);return e.length>0||r!==null&&r.length>0}function refuseNewFromAppdata(){let e=`Adw.AboutDialog.new_from_appdata`;throw new t(e,`${e} is outside the subset: it reads AppStream metadata, which no port parses. Construct the dialog and set its properties instead.`)}const f=`adw-external-link-symbolic`,p=`adw-mail-send-symbolic`;function linkRowIconName(e){return(/^([A-Za-z][A-Za-z0-9+.-]*):/.exec(e)?.[1])?.toLowerCase()===`mailto`?p:f}function linkRowTooltip(e){let t=[],n=new TextEncoder;for(let r=0;r<e.length;){if(e[r]!==`%`){let i=e.codePointAt(r);t.push(...n.encode(String.fromCodePoint(i))),r+=i>65535?2:1;continue}let i=e.slice(r+1,r+3);if(!/^[0-9A-Fa-f]{2}$/.test(i))return null;let a=Number.parseInt(i,16);if(a===0)return null;t.push(a),r+=3}return new TextDecoder().decode(new Uint8Array(t))}export{d as ADW_ABOUT_DIALOG_LABELS,l as ADW_CREDITS_SECTION_TITLES,u as ADW_LEGAL_DEFAULT_TITLE,i as ADW_LICENSES,a as ADW_LICENSE_ALIASES,s as ADW_LICENSE_DEFAULTS,o as ADW_LICENSE_WARRANTY_TEMPLATE,f as ADW_LINK_ROW_ICON_NAME,p as ADW_LINK_ROW_MAIL_ICON_NAME,c as ADW_TRANSLATOR_CREDITS_SENTINELS,r as GTK_LICENSE,aboutDialogVisibility,acknowledgementSections,creditsSections,flatCardShowsWebsite,isLicenseType,legalMarkupText,legalSectionVisible,legalSections,legalVisible,licenseText,licenseTypeForNick,licenseTypeForSpdxId,linkRowIconName,linkRowTooltip,parseCreditPerson,refuseNewFromAppdata,setLicense,setLicenseType,translatorCreditsPeople};
@@ -6,7 +6,7 @@ Two`)]},{row:`collapse`,rule:`white space runs collapse to one space and the run
6
6
  <ul>
7
7
  <li>X</li>
8
8
  </ul>`,body:[run(`New:
9
- `),run(`• `,`bullet`),run(`X`)]},{row:`list-stray-text`,rule:`text directly inside a list, outside an item, is dropped`,releaseNotes:`<ul> stray <li>A</li></ul>`,body:[run(`• `,`bullet`),run(`A`)]},{row:`empty-paragraph`,rule:`an empty paragraph adds no newline`,releaseNotes:`<p></p><p>X</p>`,body:[run(`X`)]},{row:`entities`,rule:`the five XML entities and character references are resolved`,releaseNotes:`<p>a &amp; b &lt;c&gt; &quot;&apos; &#65;&#x42;</p>`,body:[run(`a & b <c> "' AB`)]},{row:`tab-reference`,rule:`a character reference is collapsed like literal white space`,releaseNotes:`<p>&#9;b</p>`,body:[run(`b`)]},{row:`comment`,rule:`comments and processing instructions are skipped`,releaseNotes:`<?xml version="1.0"?><!-- c --><p>X</p>`,body:[run(`X`)]},{row:`unexpected-element`,rule:`an element outside the AppStream subset is an error at its closing angle`,releaseNotes:`<p>Hi</p><div>x</div>`,error:{message:`Unexpected element 'div'`,line:1,character:15}},{row:`nested-paragraph`,rule:`a paragraph inside a paragraph is unexpected`,releaseNotes:`<p><p>`,error:{message:`Unexpected element 'p'`,line:1,character:7}},{row:`item-outside-list`,rule:`a list item outside a list is unexpected`,releaseNotes:`<li>A</li>`,error:{message:`Unexpected element 'li'`,line:1,character:5}},{row:`attribute`,rule:`any attribute is an error naming the first one`,releaseNotes:`<p class="x" id="y">Hi</p>`,error:{message:`attribute 'class' invalid for element 'p'`,line:1,character:21}},{row:`mismatched-close`,rule:`a mismatched close tag is a GMarkup error at its closing angle`,releaseNotes:`<p>Hi</ul>`,error:{message:`Error on line 1 char 10: Element “ul” was closed, but the currently open element is “p”`,line:1,character:10}},{row:`unclosed`,rule:`an element left open is a GMarkup error at the end`,releaseNotes:`<p>Hi`,error:{message:`Error on line 1 char 6: Document ended unexpectedly with elements still open — “p” was the last element opened`,line:1,character:6}},{row:`unknown-entity`,rule:`an unknown entity is reported at the angle that ends the text`,releaseNotes:`<p>&nbsp;</p>`,error:{message:`Error on line 1: Entity name “nbsp” is not known`,line:1,character:10}},{row:`position-multiline`,rule:`lines count from 1, columns are bytes from the line break`,releaseNotes:`<p>
9
+ `),run(`• `,`bullet`),run(`X`)]},{row:`list-stray-text`,rule:`text directly inside a list, outside an item, is dropped`,releaseNotes:`<ul> stray <li>A</li></ul>`,body:[run(`• `,`bullet`),run(`A`)]},{row:`empty-paragraph`,rule:`an empty paragraph adds no newline`,releaseNotes:`<p></p><p>X</p>`,body:[run(`X`)]},{row:`entities`,rule:`the five XML entities and character references are resolved`,releaseNotes:`<p>a &amp; b &lt;c&gt; &quot;&apos; &#65;&#x42;</p>`,body:[run(`a & b <c> "' AB`)]},{row:`tab-reference`,rule:`a character reference is collapsed like literal white space`,releaseNotes:`<p>&#9;b</p>`,body:[run(`b`)]},{row:`comment`,rule:`comments and processing instructions are skipped`,releaseNotes:`<?xml version="1.0"?><!-- c --><p>X</p>`,body:[run(`X`)]},{row:`unexpected-element`,rule:`an element outside the AppStream subset is an error at its closing angle`,releaseNotes:`<p>Hi</p><div>x</div>`,error:{message:`Unexpected element 'div'`,line:1,character:15}},{row:`unexpected-element-uncased`,rule:`an element named by an uncased letter is a valid GMarkup name, so the same error`,releaseNotes:`<p>Hi</p><א>x</א>`,error:{message:`Unexpected element 'א'`,line:1,character:14}},{row:`nested-paragraph`,rule:`a paragraph inside a paragraph is unexpected`,releaseNotes:`<p><p>`,error:{message:`Unexpected element 'p'`,line:1,character:7}},{row:`item-outside-list`,rule:`a list item outside a list is unexpected`,releaseNotes:`<li>A</li>`,error:{message:`Unexpected element 'li'`,line:1,character:5}},{row:`attribute`,rule:`any attribute is an error naming the first one`,releaseNotes:`<p class="x" id="y">Hi</p>`,error:{message:`attribute 'class' invalid for element 'p'`,line:1,character:21}},{row:`mismatched-close`,rule:`a mismatched close tag is a GMarkup error at its closing angle`,releaseNotes:`<p>Hi</ul>`,error:{message:`Error on line 1 char 10: Element “ul” was closed, but the currently open element is “p”`,line:1,character:10}},{row:`unclosed`,rule:`an element left open is a GMarkup error at the end`,releaseNotes:`<p>Hi`,error:{message:`Error on line 1 char 6: Document ended unexpectedly with elements still open — “p” was the last element opened`,line:1,character:6}},{row:`unknown-entity`,rule:`an unknown entity is reported at the angle that ends the text`,releaseNotes:`<p>&nbsp;</p>`,error:{message:`Error on line 1: Entity name “nbsp” is not known`,line:1,character:10}},{row:`position-multiline`,rule:`lines count from 1, columns are bytes from the line break`,releaseNotes:`<p>
10
10
  Hi
11
11
  é</q>`,error:{message:`Error on line 3 char 7: Element “q” was closed, but the currently open element is “p”`,line:3,character:7}},{row:`whitespace-only`,rule:`white space alone is an empty document`,releaseNotes:` `,error:{message:`Error on line 1 char 3: Document was empty or contained only whitespace`,line:1,character:3}}];function pushRun(e,t){let n=e[e.length-1];n!==void 0&&n.tag===t.tag?n.text+=t.text:t.text.length>0&&e.push({...t})}function withHeading(e,t){let n=[{text:e,tag:`heading`}];if(t.length===0)return n;pushRun(n,run(`
12
12
  `));for(let e of t)pushRun(n,e);return n}const heading=(e,t)=>e.releaseNotesHeading.replace(`%s`,t);async function driveReleaseNotesVectors(t,n,r=e){let{describe:i,it:a,expect:o}=n,{labels:s}=t;await i(`${t.name}: Adw.AboutDialog release-notes buffer`,async()=>{for(let e of r)await a(`${e.row}: ${e.rule}`,()=>{try{let n=t.makeDialog();n.version=`1.0`,n.releaseNotes=e.releaseNotes;let r=t.whatsNew(n);if(e.body!==void 0){o(JSON.stringify(r)).toBe(JSON.stringify(withHeading(heading(s,`1.0`),e.body)));return}let{message:i,line:a,character:c}=e.error,l=`${s.releaseNotesError}\n`,u=`\n${s.releaseNotesErrorPosition.replace(`%d`,String(a)).replace(`%d`,String(c))}`,d=r.length===1&&r[0].tag===null?r[0].text:``,f=t.isGLibUntranslated||!i.startsWith(`Error on line`);o(d.startsWith(l)&&d.endsWith(u)).toBe(!0),f&&o(d.slice(l.length,d.length-u.length)).toBe(i)}finally{t.dispose()}})})}const t=`<p>Hi</p>`,n=[{row:`defaults`,rule:`release-notes, release-notes-version and debug-info default to the empty string`,isPaged:!1,observe(e){let t=e.makeDialog();return[t.releaseNotes,t.releaseNotesVersion,t.debugInfo]},shows:[``,``,``]},{row:`round-trip`,rule:`each property reads back what was set, markup and all`,isPaged:!1,observe(e){let t=e.makeDialog();return t.releaseNotes=`<p>Bad<p>`,t.releaseNotesVersion=`2.0`,t.debugInfo=`GTK 4.20
@@ -3,4 +3,12 @@ more`,name:`Ada Lovelace`,link:`https://lovelace.org`,isEmail:!1,uri:`https://lo
3
3
  Bob`,people:[`Ada`,`Bob`],rule:`newline-separated, in order`},{value:`translator-credits`,people:[],rule:`the untranslated gettext sentinel is suppressed (:605)`},{value:`translator_credits`,people:[],rule:`the older underscore spelling is checked too (:604)`},{value:``,people:[],rule:`g_strsplit("") is a ZERO-length vector, not [""] — no section at all`},{value:null,people:[],rule:`unset behaves as unset (:603)`},{value:`Ada
4
4
 
5
5
  Bob`,people:[`Ada`,``,`Bob`],rule:`an interior blank line IS a token and IS a row — only NULL pointers are skipped (:557)`},{value:`Ada
6
- `,people:[`Ada`,``],rule:`a trailing newline produces a trailing empty row`},{value:`Translator-Credits`,people:[`Translator-Credits`],rule:`the sentinel test is g_strcmp0, i.e. case-SENSITIVE`}],n=[{input:{},sections:[],rule:`nothing set — the Credits page has no groups, so its row is hidden (:629-630)`},{input:{developers:[`Ada Lovelace <ada@lovelace.org>`]},sections:[{title:`Code by`,people:[{name:`Ada Lovelace`,uri:`mailto:ada@lovelace.org`}]}],rule:`developers is titled "Code by", not "Developers" (:611)`},{input:{designers:[],artists:[`Bob`],documenters:[]},sections:[{title:`Artwork by`,people:[{name:`Bob`,uri:null}]}],rule:`empty arrays contribute NO group at all (:545-546)`},{input:{documenters:[`Dee`],developers:[`Ada`],artists:[`Art`],designers:[`Des`],translatorCredits:`Tra`},sections:[{title:`Code by`,people:[{name:`Ada`,uri:null}]},{title:`Design by`,people:[{name:`Des`,uri:null}]},{title:`Artwork by`,people:[{name:`Art`,uri:null}]},{title:`Documentation by`,people:[{name:`Dee`,uri:null}]},{title:`Translated by`,people:[{name:`Tra`,uri:null}]}],rule:`the five built-ins keep source order regardless of the order they were set (:611-619)`},{input:{developers:[`Ada`],translatorCredits:`translator-credits`},sections:[{title:`Code by`,people:[{name:`Ada`,uri:null}]}],rule:`the sentinel drops the Translated by group entirely`},{input:{developers:[`Ada`],creditSections:[{title:`Backers`,people:[`Bob https://bob.example`]},{title:null,people:[`Anonymous`]}]},sections:[{title:`Code by`,people:[{name:`Ada`,uri:null}]},{title:`Backers`,people:[{name:`Bob`,uri:`https://bob.example`}]},{title:null,people:[{name:`Anonymous`,uri:null}]}],rule:`extra sections come LAST, in call order, and their title may be NULL (:3240, :3252)`}],r=[{website:!1,comments:!1,customLinks:!1,releaseNotes:!1,visible:{detailsGroup:!1,whatsNewRow:!1,detailsRow:!1,websiteRow:!1,commentsLabel:!1,linksGroup:!1,detailsWebsiteRow:!1},rule:`nothing set — the whole first group is gone`},{website:!0,comments:!1,customLinks:!1,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!1,websiteRow:!0,commentsLabel:!1,linksGroup:!1,detailsWebsiteRow:!1},rule:`website ALONE stays on the main page and offers no Details row (:1112 with :1108)`},{website:!1,comments:!0,customLinks:!1,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!1,detailsWebsiteRow:!1},rule:`comments open the Details page; with no website there is no links group (:1109)`},{website:!0,comments:!0,customLinks:!1,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!0,detailsWebsiteRow:!0},rule:`website MOVES to the Details page as soon as the page has other content (:1112-1113)`},{website:!1,comments:!1,customLinks:!0,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!1,linksGroup:!0,detailsWebsiteRow:!1},rule:`a custom link alone is enough to open the Details page (:1108-1109)`},{website:!0,comments:!1,customLinks:!0,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!1,linksGroup:!0,detailsWebsiteRow:!0},rule:`custom links move the website even without comments`},{website:!1,comments:!0,customLinks:!0,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!0,detailsWebsiteRow:!1},rule:`the links group exists for the custom links even with no website row in it`},{website:!0,comments:!0,customLinks:!0,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!0,detailsWebsiteRow:!0},rule:`everything set — the main-page website row is still hidden, never both`},{website:!1,comments:!1,customLinks:!1,releaseNotes:!0,visible:{detailsGroup:!0,whatsNewRow:!0,detailsRow:!1,websiteRow:!1,commentsLabel:!1,linksGroup:!1,detailsWebsiteRow:!1},rule:`release notes alone keep the GROUP alive for the What’s New row (:1116-1118)`},{website:!0,comments:!0,customLinks:!0,releaseNotes:!0,visible:{detailsGroup:!0,whatsNewRow:!0,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!0,detailsWebsiteRow:!0},rule:`release notes are orthogonal to the rest of the group`}],i=[{supportUrl:!1,issueUrl:!1,debugInfo:!1,visible:{supportGroup:!1,supportRow:!1,issueRow:!1,troubleshootingRow:!1},rule:`nothing set — no support group`},{supportUrl:!0,issueUrl:!1,debugInfo:!1,visible:{supportGroup:!0,supportRow:!0,issueRow:!1,troubleshootingRow:!1},rule:`support-url draws its row on the MAIN page (:1128)`},{supportUrl:!1,issueUrl:!0,debugInfo:!1,visible:{supportGroup:!0,supportRow:!1,issueRow:!0,troubleshootingRow:!1},rule:`issue-url likewise (:1129)`},{supportUrl:!0,issueUrl:!0,debugInfo:!1,visible:{supportGroup:!0,supportRow:!0,issueRow:!0,troubleshootingRow:!1},rule:`both links, no Troubleshooting row without debug info`},{supportUrl:!1,issueUrl:!1,debugInfo:!0,visible:{supportGroup:!0,supportRow:!1,issueRow:!1,troubleshootingRow:!0},rule:`debug-info alone opens the group for the Troubleshooting row (:1130)`},{supportUrl:!0,issueUrl:!1,debugInfo:!0,visible:{supportGroup:!0,supportRow:!0,issueRow:!1,troubleshootingRow:!0},rule:`the three are independent`},{supportUrl:!1,issueUrl:!0,debugInfo:!0,visible:{supportGroup:!0,supportRow:!1,issueRow:!0,troubleshootingRow:!0},rule:`the three are independent`},{supportUrl:!0,issueUrl:!0,debugInfo:!0,visible:{supportGroup:!0,supportRow:!0,issueRow:!0,troubleshootingRow:!0},rule:`everything set`}],a=[{hasCredits:!1,hasLegal:!1,hasAcknowledgements:!1,visible:{creditsLegalGroup:!1,creditsRow:!1,legalRow:!1,acknowledgementsRow:!1},rule:`no page has content — the group is gone`},{hasCredits:!0,hasLegal:!1,hasAcknowledgements:!1,visible:{creditsLegalGroup:!0,creditsRow:!0,legalRow:!1,acknowledgementsRow:!1},rule:`credits only`},{hasCredits:!1,hasLegal:!0,hasAcknowledgements:!1,visible:{creditsLegalGroup:!0,creditsRow:!1,legalRow:!0,acknowledgementsRow:!1},rule:`legal only`},{hasCredits:!0,hasLegal:!0,hasAcknowledgements:!1,visible:{creditsLegalGroup:!0,creditsRow:!0,legalRow:!0,acknowledgementsRow:!1},rule:`credits + legal`},{hasCredits:!1,hasLegal:!1,hasAcknowledgements:!0,visible:{creditsLegalGroup:!0,creditsRow:!1,legalRow:!1,acknowledgementsRow:!0},rule:`acknowledgements alone open the group (:486) — neither renderer has this page`},{hasCredits:!0,hasLegal:!1,hasAcknowledgements:!0,visible:{creditsLegalGroup:!0,creditsRow:!0,legalRow:!1,acknowledgementsRow:!0},rule:`independent`},{hasCredits:!1,hasLegal:!0,hasAcknowledgements:!0,visible:{creditsLegalGroup:!0,creditsRow:!1,legalRow:!0,acknowledgementsRow:!0},rule:`independent`},{hasCredits:!0,hasLegal:!0,hasAcknowledgements:!0,visible:{creditsLegalGroup:!0,creditsRow:!0,legalRow:!0,acknowledgementsRow:!0},rule:`all three`}],o=[{property:`application-icon`,value:`org.gnome.Builder`,visible:!0,rule:`an icon name shows the image`},{property:`application-icon`,value:``,visible:!1,rule:`unset hides the image — there is no application-x-executable fallback (:2313-2314)`},{property:`application-name`,value:`Builder`,visible:!0,rule:`a name shows the title-1 label`},{property:`application-name`,value:``,visible:!1,rule:`unset hides the label — there is no "Application" fallback (:2376-2377)`},{property:`application-name`,value:` `,visible:!0,rule:`a single space is a first character, so the label IS shown (no trimming)`},{property:`developer-name`,value:`The GNOME Project`,visible:!0,rule:`a developer line is shown`},{property:`developer-name`,value:``,visible:!1,rule:`unset hides it (:2426-2427)`},{property:`version`,value:`48.0`,visible:!0,rule:`a version shows the pill`},{property:`version`,value:``,visible:!1,rule:`unset hides it (:2476)`}],s=[{label:`dialogTitle`,text:`About`,plain:`About`,rule:`the bare word (.ui:6) — never "About <app name>", which is the header revealer’s job (.ui:29-31)`},{label:`detailsRow`,text:`_Details`,plain:`Details`,rule:`row titles carry mnemonics (.ui:119-120)`},{label:`websiteRow`,text:`_Website`,plain:`Website`,rule:`the same title on both pages (.ui:136, :350)`},{label:`supportRow`,text:`_Support Questions`,plain:`Support Questions`,rule:`a main-page row (.ui:152)`},{label:`issueRow`,text:`_Report an Issue`,plain:`Report an Issue`,rule:`a main-page row (.ui:162)`},{label:`troubleshootingRow`,text:`_Troubleshooting`,plain:`Troubleshooting`,rule:`a main-page row (.ui:172)`},{label:`creditsRow`,text:`_Credits`,plain:`Credits`,rule:`.ui:193`},{label:`legalRow`,text:`_Legal`,plain:`Legal`,rule:`.ui:210`},{label:`acknowledgementsRow`,text:`_Acknowledgements`,plain:`Acknowledgements`,rule:`.ui:228`},{label:`whatsNewRow`,text:`What’s _New`,plain:`What’s New`,rule:`U+2019, not an ASCII apostrophe, and the marker is mid-string (.ui:102)`},{label:`detailsPage`,text:`Details`,plain:`Details`,rule:`PAGE titles carry no marker (.ui:311)`},{label:`creditsPage`,text:`Credits`,plain:`Credits`,rule:`.ui:507`},{label:`legalPage`,text:`Legal`,plain:`Legal`,rule:`.ui:539`}],c=[{licenseType:0,spdxId:null,url:null,rule:`unknown carries nothing (:216)`},{licenseType:1,spdxId:null,url:null,rule:`custom carries nothing either — the text comes from the property (:217)`},{licenseType:2,spdxId:`GPL-2.0-or-later`,url:`https://www.gnu.org/licenses/old-licenses/gpl-2.0.html`,rule:`the first real row, at index 2 — a table that skipped the two nulls shifts everything`},{licenseType:7,spdxId:`MIT`,url:`https://opensource.org/licenses/mit-license.php`,rule:`MIT_X11 (:229)`},{licenseType:18,spdxId:`0BSD`,url:`https://opensource.org/license/0bsd`,rule:`the last row — G_STATIC_ASSERT pins it to GTK_LICENSE_0BSD (:253-256)`}],l=[{spdxId:`MIT`,licenseType:7,rule:`an exact table match (:1227)`},{spdxId:`GPL-3.0-or-later`,licenseType:3,rule:`the -or-later variant is its own row`},{spdxId:`GPL-3.0-only`,licenseType:10,rule:`and so is -only`},{spdxId:`GPL-2.0`,licenseType:9,rule:`the deprecated bare id aliases to -ONLY, not -or-later (:265)`},{spdxId:`GPL-3.0`,licenseType:10,rule:`the second alias (:266)`},{spdxId:`0BSD`,licenseType:18,rule:`the last row is reachable by id`},{spdxId:`WTFPL`,licenseType:null,rule:`no match; the caller falls back to custom (:1241-1242)`},{spdxId:`mit`,licenseType:null,rule:`g_strcmp0 is case-sensitive`},{spdxId:``,licenseType:null,rule:`the empty id matches nothing — indices 0/1 hold NULL, not ""`}],u=[{licenseType:0,license:`ignored`,text:null,rule:`unknown returns NULL and the custom text is not consulted (:639-640)`},{licenseType:1,license:`All rights reserved.`,text:`All rights reserved.`,rule:`custom passes through (:642-643)`},{licenseType:1,license:``,text:``,rule:`custom + empty is "" — NOT null; the difference decides whether a legal section exists`},{licenseType:7,license:``,text:`This application comes with absolutely no warranty. See the <a href="https://opensource.org/licenses/mit-license.php">The MIT License (MIT)</a> for details.`,rule:`the preamble takes the URL first, then the name (:648-650), and contains Pango markup`},{licenseType:18,license:`ignored`,text:`This application comes with absolutely no warranty. See the <a href="https://opensource.org/license/0bsd">BSD Zero-Clause License</a> for details.`,rule:`a non-custom type ignores the license string entirely`}],d=[{steps:[],license:``,licenseType:0,notify:[],rule:`the defaults: "" (:2044) and unknown (:2032)`},{steps:[{property:`license`,value:`All rights reserved.`}],license:`All rights reserved.`,licenseType:1,notify:[`license`,`license-type`],rule:`setting a text forces custom and notifies both (:3471-3477)`},{steps:[{property:`license-type`,value:3}],license:``,licenseType:3,notify:[`license`,`license-type`],rule:`a non-custom type notifies license too, even though it was already "" (:3414)`},{steps:[{property:`license`,value:`Custom text`},{property:`license-type`,value:3}],license:``,licenseType:3,notify:[`license`,`license-type`,`license`,`license-type`],rule:`choosing a stock licence CLEARS the custom text (:3407-3408) — the two are one state`},{steps:[{property:`license`,value:`Custom text`},{property:`license-type`,value:1}],license:`Custom text`,licenseType:1,notify:[`license`,`license-type`],rule:`setting custom when already custom is an early-out (:3404-3405) — nothing notified`},{steps:[{property:`license`,value:`Custom text`},{property:`license-type`,value:3},{property:`license`,value:`Custom text`}],license:`Custom text`,licenseType:1,notify:[`license`,`license-type`,`license`,`license-type`,`license`,`license-type`],rule:`the SAME text again does switch back to custom, because the string did change (:3466)`},{steps:[{property:`license-type`,value:3},{property:`license`,value:``}],license:``,licenseType:3,notify:[`license`,`license-type`],rule:`but assigning "" to an already-empty licence bails first — the GPL text STAYS on screen`},{steps:[{property:`license-type`,value:19}],license:``,licenseType:0,notify:[],rule:`out of range is rejected outright (:3401-3402), not clamped`},{steps:[{property:`license-type`,value:-1}],license:``,licenseType:0,notify:[],rule:`below GTK_LICENSE_UNKNOWN likewise`}],f=[{copyright:``,licenseType:0,license:``,visible:!1,rule:`nothing set — no Legal page, no Legal row`},{copyright:`© 2026 Ada`,licenseType:0,license:``,visible:!0,rule:`a copyright alone is enough`},{copyright:``,licenseType:7,license:``,visible:!0,rule:`a stock licence alone is enough`},{copyright:``,licenseType:1,license:``,visible:!1,rule:'custom with an EMPTY text contributes nothing — the trap `licenseText` returning "" sets'},{copyright:``,licenseType:1,license:`All rights reserved.`,visible:!0,rule:`custom with text does`},{copyright:` `,licenseType:0,license:``,visible:!0,rule:`a single space is a first character (:666) — the section exists and looks empty`}];export{a as ABOUT_DIALOG_CREDITS_LEGAL_VECTORS,r as ABOUT_DIALOG_DETAILS_VECTORS,o as ABOUT_DIALOG_HEADER_VECTORS,s as ABOUT_DIALOG_LABEL_VECTORS,i as ABOUT_DIALOG_SUPPORT_VECTORS,n as CREDITS_SECTIONS_VECTORS,e as CREDIT_PERSON_VECTORS,f as LEGAL_SECTION_VECTORS,c as LICENSE_INFO_VECTORS,d as LICENSE_SETTER_VECTORS,l as LICENSE_SPDX_VECTORS,u as LICENSE_TEXT_VECTORS,t as TRANSLATOR_CREDITS_VECTORS};
6
+ `,people:[`Ada`,``],rule:`a trailing newline produces a trailing empty row`},{value:`Translator-Credits`,people:[`Translator-Credits`],rule:`the sentinel test is g_strcmp0, i.e. case-SENSITIVE`}],n=[{input:{},sections:[],rule:`nothing set — the Credits page has no groups, so its row is hidden (:629-630)`},{input:{developers:[`Ada Lovelace <ada@lovelace.org>`]},sections:[{title:`Code by`,people:[{name:`Ada Lovelace`,uri:`mailto:ada@lovelace.org`}]}],rule:`developers is titled "Code by", not "Developers" (:611)`},{input:{designers:[],artists:[`Bob`],documenters:[]},sections:[{title:`Artwork by`,people:[{name:`Bob`,uri:null}]}],rule:`empty arrays contribute NO group at all (:545-546)`},{input:{documenters:[`Dee`],developers:[`Ada`],artists:[`Art`],designers:[`Des`],translatorCredits:`Tra`},sections:[{title:`Code by`,people:[{name:`Ada`,uri:null}]},{title:`Design by`,people:[{name:`Des`,uri:null}]},{title:`Artwork by`,people:[{name:`Art`,uri:null}]},{title:`Documentation by`,people:[{name:`Dee`,uri:null}]},{title:`Translated by`,people:[{name:`Tra`,uri:null}]}],rule:`the five built-ins keep source order regardless of the order they were set (:611-619)`},{input:{developers:[`Ada`],translatorCredits:`translator-credits`},sections:[{title:`Code by`,people:[{name:`Ada`,uri:null}]}],rule:`the sentinel drops the Translated by group entirely`},{input:{developers:[`Ada`],creditSections:[{title:`Backers`,people:[`Bob https://bob.example`]},{title:null,people:[`Anonymous`]}]},sections:[{title:`Code by`,people:[{name:`Ada`,uri:null}]},{title:`Backers`,people:[{name:`Bob`,uri:`https://bob.example`}]},{title:null,people:[{name:`Anonymous`,uri:null}]}],rule:`extra sections come LAST, in call order, and their title may be NULL (:3240, :3252)`}],r=[{website:!1,comments:!1,customLinks:!1,releaseNotes:!1,visible:{detailsGroup:!1,whatsNewRow:!1,detailsRow:!1,websiteRow:!1,commentsLabel:!1,linksGroup:!1,detailsWebsiteRow:!1},rule:`nothing set — the whole first group is gone`},{website:!0,comments:!1,customLinks:!1,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!1,websiteRow:!0,commentsLabel:!1,linksGroup:!1,detailsWebsiteRow:!1},rule:`website ALONE stays on the main page and offers no Details row (:1112 with :1108)`},{website:!1,comments:!0,customLinks:!1,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!1,detailsWebsiteRow:!1},rule:`comments open the Details page; with no website there is no links group (:1109)`},{website:!0,comments:!0,customLinks:!1,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!0,detailsWebsiteRow:!0},rule:`website MOVES to the Details page as soon as the page has other content (:1112-1113)`},{website:!1,comments:!1,customLinks:!0,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!1,linksGroup:!0,detailsWebsiteRow:!1},rule:`a custom link alone is enough to open the Details page (:1108-1109)`},{website:!0,comments:!1,customLinks:!0,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!1,linksGroup:!0,detailsWebsiteRow:!0},rule:`custom links move the website even without comments`},{website:!1,comments:!0,customLinks:!0,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!0,detailsWebsiteRow:!1},rule:`the links group exists for the custom links even with no website row in it`},{website:!0,comments:!0,customLinks:!0,releaseNotes:!1,visible:{detailsGroup:!0,whatsNewRow:!1,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!0,detailsWebsiteRow:!0},rule:`everything set — the main-page website row is still hidden, never both`},{website:!1,comments:!1,customLinks:!1,releaseNotes:!0,visible:{detailsGroup:!0,whatsNewRow:!0,detailsRow:!1,websiteRow:!1,commentsLabel:!1,linksGroup:!1,detailsWebsiteRow:!1},rule:`release notes alone keep the GROUP alive for the What’s New row (:1116-1118)`},{website:!0,comments:!0,customLinks:!0,releaseNotes:!0,visible:{detailsGroup:!0,whatsNewRow:!0,detailsRow:!0,websiteRow:!1,commentsLabel:!0,linksGroup:!0,detailsWebsiteRow:!0},rule:`release notes are orthogonal to the rest of the group`}],i=[{supportUrl:!1,issueUrl:!1,debugInfo:!1,visible:{supportGroup:!1,supportRow:!1,issueRow:!1,troubleshootingRow:!1},rule:`nothing set — no support group`},{supportUrl:!0,issueUrl:!1,debugInfo:!1,visible:{supportGroup:!0,supportRow:!0,issueRow:!1,troubleshootingRow:!1},rule:`support-url draws its row on the MAIN page (:1128)`},{supportUrl:!1,issueUrl:!0,debugInfo:!1,visible:{supportGroup:!0,supportRow:!1,issueRow:!0,troubleshootingRow:!1},rule:`issue-url likewise (:1129)`},{supportUrl:!0,issueUrl:!0,debugInfo:!1,visible:{supportGroup:!0,supportRow:!0,issueRow:!0,troubleshootingRow:!1},rule:`both links, no Troubleshooting row without debug info`},{supportUrl:!1,issueUrl:!1,debugInfo:!0,visible:{supportGroup:!0,supportRow:!1,issueRow:!1,troubleshootingRow:!0},rule:`debug-info alone opens the group for the Troubleshooting row (:1130)`},{supportUrl:!0,issueUrl:!1,debugInfo:!0,visible:{supportGroup:!0,supportRow:!0,issueRow:!1,troubleshootingRow:!0},rule:`the three are independent`},{supportUrl:!1,issueUrl:!0,debugInfo:!0,visible:{supportGroup:!0,supportRow:!1,issueRow:!0,troubleshootingRow:!0},rule:`the three are independent`},{supportUrl:!0,issueUrl:!0,debugInfo:!0,visible:{supportGroup:!0,supportRow:!0,issueRow:!0,troubleshootingRow:!0},rule:`everything set`}],a=[{hasCredits:!1,hasLegal:!1,hasAcknowledgements:!1,visible:{creditsLegalGroup:!1,creditsRow:!1,legalRow:!1,acknowledgementsRow:!1},rule:`no page has content — the group is gone`},{hasCredits:!0,hasLegal:!1,hasAcknowledgements:!1,visible:{creditsLegalGroup:!0,creditsRow:!0,legalRow:!1,acknowledgementsRow:!1},rule:`credits only`},{hasCredits:!1,hasLegal:!0,hasAcknowledgements:!1,visible:{creditsLegalGroup:!0,creditsRow:!1,legalRow:!0,acknowledgementsRow:!1},rule:`legal only`},{hasCredits:!0,hasLegal:!0,hasAcknowledgements:!1,visible:{creditsLegalGroup:!0,creditsRow:!0,legalRow:!0,acknowledgementsRow:!1},rule:`credits + legal`},{hasCredits:!1,hasLegal:!1,hasAcknowledgements:!0,visible:{creditsLegalGroup:!0,creditsRow:!1,legalRow:!1,acknowledgementsRow:!0},rule:`acknowledgements alone open the group (:486)`},{hasCredits:!0,hasLegal:!1,hasAcknowledgements:!0,visible:{creditsLegalGroup:!0,creditsRow:!0,legalRow:!1,acknowledgementsRow:!0},rule:`independent`},{hasCredits:!1,hasLegal:!0,hasAcknowledgements:!0,visible:{creditsLegalGroup:!0,creditsRow:!1,legalRow:!0,acknowledgementsRow:!0},rule:`independent`},{hasCredits:!0,hasLegal:!0,hasAcknowledgements:!0,visible:{creditsLegalGroup:!0,creditsRow:!0,legalRow:!0,acknowledgementsRow:!0},rule:`all three`}],o=[{property:`application-icon`,value:`org.gnome.Builder`,visible:!0,rule:`an icon name shows the image`},{property:`application-icon`,value:``,visible:!1,rule:`unset hides the image — there is no application-x-executable fallback (:2313-2314)`},{property:`application-name`,value:`Builder`,visible:!0,rule:`a name shows the title-1 label`},{property:`application-name`,value:``,visible:!1,rule:`unset hides the label — there is no "Application" fallback (:2376-2377)`},{property:`application-name`,value:` `,visible:!0,rule:`a single space is a first character, so the label IS shown (no trimming)`},{property:`developer-name`,value:`The GNOME Project`,visible:!0,rule:`a developer line is shown`},{property:`developer-name`,value:``,visible:!1,rule:`unset hides it (:2426-2427)`},{property:`version`,value:`48.0`,visible:!0,rule:`a version shows the pill`},{property:`version`,value:``,visible:!1,rule:`unset hides it (:2476)`}],s=[{label:`dialogTitle`,text:`About`,plain:`About`,rule:`the bare word (.ui:6) — never "About <app name>", which is the header revealer’s job (.ui:29-31)`},{label:`detailsRow`,text:`_Details`,plain:`Details`,rule:`row titles carry mnemonics (.ui:119-120)`},{label:`websiteRow`,text:`_Website`,plain:`Website`,rule:`the same title on both pages (.ui:136, :350)`},{label:`supportRow`,text:`_Support Questions`,plain:`Support Questions`,rule:`a main-page row (.ui:152)`},{label:`issueRow`,text:`_Report an Issue`,plain:`Report an Issue`,rule:`a main-page row (.ui:162)`},{label:`troubleshootingRow`,text:`_Troubleshooting`,plain:`Troubleshooting`,rule:`a main-page row (.ui:172)`},{label:`creditsRow`,text:`_Credits`,plain:`Credits`,rule:`.ui:193`},{label:`legalRow`,text:`_Legal`,plain:`Legal`,rule:`.ui:210`},{label:`acknowledgementsRow`,text:`_Acknowledgements`,plain:`Acknowledgements`,rule:`.ui:228`},{label:`whatsNewRow`,text:`What’s _New`,plain:`What’s New`,rule:`U+2019, not an ASCII apostrophe, and the marker is mid-string (.ui:102)`},{label:`detailsPage`,text:`Details`,plain:`Details`,rule:`PAGE titles carry no marker (.ui:311)`},{label:`creditsPage`,text:`Credits`,plain:`Credits`,rule:`.ui:507`},{label:`legalPage`,text:`Legal`,plain:`Legal`,rule:`.ui:539`}],c=[{licenseType:0,spdxId:null,url:null,rule:`unknown carries nothing (:216)`},{licenseType:1,spdxId:null,url:null,rule:`custom carries nothing either — the text comes from the property (:217)`},{licenseType:2,spdxId:`GPL-2.0-or-later`,url:`https://www.gnu.org/licenses/old-licenses/gpl-2.0.html`,rule:`the first real row, at index 2 — a table that skipped the two nulls shifts everything`},{licenseType:7,spdxId:`MIT`,url:`https://opensource.org/licenses/mit-license.php`,rule:`MIT_X11 (:229)`},{licenseType:18,spdxId:`0BSD`,url:`https://opensource.org/license/0bsd`,rule:`the last row — G_STATIC_ASSERT pins it to GTK_LICENSE_0BSD (:253-256)`}],l=[{spdxId:`MIT`,licenseType:7,rule:`an exact table match (:1227)`},{spdxId:`GPL-3.0-or-later`,licenseType:3,rule:`the -or-later variant is its own row`},{spdxId:`GPL-3.0-only`,licenseType:10,rule:`and so is -only`},{spdxId:`GPL-2.0`,licenseType:9,rule:`the deprecated bare id aliases to -ONLY, not -or-later (:265)`},{spdxId:`GPL-3.0`,licenseType:10,rule:`the second alias (:266)`},{spdxId:`0BSD`,licenseType:18,rule:`the last row is reachable by id`},{spdxId:`WTFPL`,licenseType:null,rule:`no match; the caller falls back to custom (:1241-1242)`},{spdxId:`mit`,licenseType:null,rule:`g_strcmp0 is case-sensitive`},{spdxId:``,licenseType:null,rule:`the empty id matches nothing — indices 0/1 hold NULL, not ""`}],u=[{licenseType:0,license:`ignored`,text:null,rule:`unknown returns NULL and the custom text is not consulted (:639-640)`},{licenseType:1,license:`All rights reserved.`,text:`All rights reserved.`,rule:`custom passes through (:642-643)`},{licenseType:1,license:``,text:``,rule:`custom + empty is "" — NOT null; the difference decides whether a legal section exists`},{licenseType:7,license:``,text:`This application comes with absolutely no warranty. See the <a href="https://opensource.org/licenses/mit-license.php">The MIT License (MIT)</a> for details.`,rule:`the preamble takes the URL first, then the name (:648-650), and contains Pango markup`},{licenseType:18,license:`ignored`,text:`This application comes with absolutely no warranty. See the <a href="https://opensource.org/license/0bsd">BSD Zero-Clause License</a> for details.`,rule:`a non-custom type ignores the license string entirely`}],d=[{steps:[],license:``,licenseType:0,notify:[],rule:`the defaults: "" (:2044) and unknown (:2032)`},{steps:[{property:`license`,value:`All rights reserved.`}],license:`All rights reserved.`,licenseType:1,notify:[`license`,`license-type`],rule:`setting a text forces custom and notifies both (:3471-3477)`},{steps:[{property:`license-type`,value:3}],license:``,licenseType:3,notify:[`license`,`license-type`],rule:`a non-custom type notifies license too, even though it was already "" (:3414)`},{steps:[{property:`license`,value:`Custom text`},{property:`license-type`,value:3}],license:``,licenseType:3,notify:[`license`,`license-type`,`license`,`license-type`],rule:`choosing a stock licence CLEARS the custom text (:3407-3408) — the two are one state`},{steps:[{property:`license`,value:`Custom text`},{property:`license-type`,value:1}],license:`Custom text`,licenseType:1,notify:[`license`,`license-type`],rule:`setting custom when already custom is an early-out (:3404-3405) — nothing notified`},{steps:[{property:`license`,value:`Custom text`},{property:`license-type`,value:3},{property:`license`,value:`Custom text`}],license:`Custom text`,licenseType:1,notify:[`license`,`license-type`,`license`,`license-type`,`license`,`license-type`],rule:`the SAME text again does switch back to custom, because the string did change (:3466)`},{steps:[{property:`license-type`,value:3},{property:`license`,value:``}],license:``,licenseType:3,notify:[`license`,`license-type`],rule:`but assigning "" to an already-empty licence bails first — the GPL text STAYS on screen`},{steps:[{property:`license-type`,value:19}],license:``,licenseType:0,notify:[],rule:`out of range is rejected outright (:3401-3402), not clamped`},{steps:[{property:`license-type`,value:-1}],license:``,licenseType:0,notify:[],rule:`below GTK_LICENSE_UNKNOWN likewise`}],f=[{copyright:``,licenseType:0,license:``,visible:!1,rule:`nothing set — no Legal page, no Legal row`},{copyright:`© 2026 Ada`,licenseType:0,license:``,visible:!0,rule:`a copyright alone is enough`},{copyright:``,licenseType:7,license:``,visible:!0,rule:`a stock licence alone is enough`},{copyright:``,licenseType:1,license:``,visible:!1,rule:'custom with an EMPTY text contributes nothing — the trap `licenseText` returning "" sets'},{copyright:``,licenseType:1,license:`All rights reserved.`,visible:!0,rule:`custom with text does`},{copyright:` `,licenseType:0,license:``,visible:!0,rule:`a single space is a first character (:666) — the section exists and looks empty`}],p=[{sections:[],groups:[],rule:`nothing added — no page, no row`},{sections:[{title:`Funded by`,people:[`Ada <ada@lovelace.org>`]}],groups:[{title:`Funded by`,people:[{name:`Ada`,uri:`mailto:ada@lovelace.org`}]}],rule:`one section, one group, rows parsed like credits`},{sections:[{title:`Backers`,people:[`Bob https://bob.example`]},{title:null,people:[`Anonymous`]}],groups:[{title:`Backers`,people:[{name:`Bob`,uri:`https://bob.example`}]},{title:null,people:[{name:`Anonymous`,uri:null}]}],rule:`call order is kept, and a NULL title is a group with no heading`},{sections:[{title:`Backers`,people:[]}],groups:[],rule:`a section with no people creates no group`}],m=[{copyright:``,licenseType:0,license:``,hasLegal:!1,sections:[],rule:`nothing set — no Legal page`},{copyright:`© 2026 Ada`,licenseType:0,license:``,hasLegal:!0,sections:[{title:null,markup:`© 2026 Ada`,text:`© 2026 Ada`}],rule:`a copyright alone is a section with no heading`},{copyright:``,licenseType:1,license:`All rights reserved.`,hasLegal:!0,sections:[{title:null,markup:`All rights reserved.`,text:`All rights reserved.`}],rule:`a custom licence text is the label as it is`},{copyright:`© 2026 Ada`,licenseType:1,license:`All rights reserved.`,hasLegal:!0,sections:[{title:null,markup:`© 2026 Ada
7
+
8
+ All rights reserved.`,text:`© 2026 Ada
9
+
10
+ All rights reserved.`}],rule:`copyright and licence share ONE label, a blank line apart`},{copyright:``,licenseType:7,license:`ignored`,hasLegal:!0,sections:[{title:null,markup:`This application comes with absolutely no warranty. See the <a href="https://opensource.org/licenses/mit-license.php">The MIT License (MIT)</a> for details.`,text:`This application comes with absolutely no warranty. See the The MIT License (MIT) for details.`}],rule:"a stock licence is the warranty line and ignores the `license` string"},{copyright:``,licenseType:0,license:``,legalSections:[{title:`Fonts`,copyright:`© Foundry`,licenseType:0,license:null}],hasLegal:!0,sections:[{title:`Fonts`,markup:`© Foundry`,text:`© Foundry`}],rule:`an added section alone makes the Legal row; the empty default section is dropped`},{copyright:`© 2026 Ada`,licenseType:0,license:``,legalSections:[{title:`Fonts`,copyright:`© Foundry`,licenseType:1,license:`OFL`}],hasLegal:!0,sections:[{title:`This Application`,markup:`© 2026 Ada`,text:`© 2026 Ada`},{title:`Fonts`,markup:`© Foundry
11
+
12
+ OFL`,text:`© Foundry
13
+
14
+ OFL`}],rule:`the default section is titled "This Application" once another exists, and comes first`},{copyright:``,licenseType:0,license:``,legalSections:[{title:`Artwork`,copyright:null,licenseType:0,license:null}],hasLegal:!0,sections:[{title:`Artwork`,markup:``,text:``}],rule:`a section with a title and nothing else still exists`},{copyright:``,licenseType:0,license:``,legalSections:[{title:``,copyright:`© Foundry`,licenseType:0,license:null}],hasLegal:!0,sections:[{title:null,markup:`© Foundry`,text:`© Foundry`}],rule:`an empty heading draws no heading label`}];export{a as ABOUT_DIALOG_CREDITS_LEGAL_VECTORS,r as ABOUT_DIALOG_DETAILS_VECTORS,o as ABOUT_DIALOG_HEADER_VECTORS,s as ABOUT_DIALOG_LABEL_VECTORS,i as ABOUT_DIALOG_SUPPORT_VECTORS,p as ACKNOWLEDGEMENT_SECTIONS_VECTORS,n as CREDITS_SECTIONS_VECTORS,e as CREDIT_PERSON_VECTORS,m as LEGAL_SECTIONS_VECTORS,f as LEGAL_SECTION_VECTORS,c as LICENSE_INFO_VECTORS,d as LICENSE_SETTER_VECTORS,l as LICENSE_SPDX_VECTORS,u as LICENSE_TEXT_VECTORS,t as TRANSLATOR_CREDITS_VECTORS};
@@ -0,0 +1 @@
1
+ import"../_virtual/_rolldown/runtime.js";const e=[`order`,`territory`,`codeset`,`modifier`,`list`,`repeats`,`c-appended`,`script-in-territory`],t=[{row:`order`,rule:`every combination of codeset, territory and modifier, most specific first (mask 7 down to 0), then C`,locales:[`en_US.UTF-8@euro`],shows:[`en_US.UTF-8@euro`,`en_US@euro`,`en.UTF-8@euro`,`en@euro`,`en_US.UTF-8`,`en_US`,`en.UTF-8`,`en`,`C`]},{row:`territory`,rule:`a territory is stripped to the bare language`,locales:[`pt_BR`],shows:[`pt_BR`,`pt`,`C`]},{row:`codeset`,rule:`a codeset without a territory is stripped the same way`,locales:[`de.UTF-8`],shows:[`de.UTF-8`,`de`,`C`]},{row:`modifier`,rule:`a modifier sorts before the same locale without it, at every level`,locales:[`sr_RS@latin`],shows:[`sr_RS@latin`,`sr@latin`,`sr_RS`,`sr`,`C`]},{row:`list`,rule:`each entry expands in turn, then one C at the very end`,locales:[`de_DE`,`fr@x`,`en`],shows:[`de_DE`,`de`,`fr@x`,`fr`,`en`,`C`]},{row:`repeats`,rule:`nothing is deduplicated: a language named twice is listed twice`,locales:[`de_DE`,`de`],shows:[`de_DE`,`de`,`de`,`C`]},{row:`c-appended`,rule:`C is appended even when the locale already is C`,locales:[`C`],shows:[`C`,`C`]},{row:`script-in-territory`,rule:`only the first underscore splits the language, so a script glued on stays in the territory part`,locales:[`zh_Hant_TW.UTF-8`],shows:[`zh_Hant_TW.UTF-8`,`zh_Hant_TW`,`zh.UTF-8`,`zh`,`C`]}],n=[`region`,`list`,`script`,`m49`,`extension`,`private`,`none`],r=[{row:`region`,rule:`language-REGION becomes language_REGION, then the bare language, then C`,tags:[`pt-BR`],shows:[`pt_BR`,`pt`,`C`]},{row:`list`,rule:`a repeated language is listed once, first occurrence wins, C stays last`,tags:[`de-DE`,`de`,`en-US`],shows:[`de_DE`,`de`,`en_US`,`en`,`C`]},{row:`script`,rule:`the script has no POSIX slot and is dropped, the region stays`,tags:[`zh-Hant-TW`,`sr-Latn-RS`],shows:[`zh_TW`,`zh`,`sr_RS`,`sr`,`C`]},{row:`m49`,rule:`a UN M.49 region has no POSIX territory: the language stands alone`,tags:[`es-419`],shows:[`es`,`C`]},{row:`extension`,rule:`extensions and variants after the region are dropped`,tags:[`de-DE-u-ca-gregory`,`sl-rozaj`],shows:[`de_DE`,`de`,`sl`,`C`]},{row:`private`,rule:`und, private use and grandfathered tags name no language and are skipped`,tags:[`und`,`x-private`,`i-klingon`,`fr`],shows:[`fr`,`C`]},{row:`none`,rule:`no tag at all answers just C`,tags:[],shows:[`C`]}];async function driveGLibLanguageVectors(e,n,r=t){let{describe:i,it:a,expect:o}=n;await i(`${e.name}: GLib language names`,async()=>{for(let t of r)await a(`${t.row}: ${t.rule}`,()=>{let n=e.withLocales(t.locales,()=>e.GLib.get_language_names());o(JSON.stringify(n)).toBe(JSON.stringify(t.shows))})})}async function driveGLibLanguageTagVectors(e,t,n=r){let{describe:i,it:a,expect:o}=t;await i(`${e.name}: GLib language names from BCP 47 tags`,async()=>{for(let t of n)await a(`${t.row}: ${t.rule}`,()=>{let n=e.withTags(t.tags,()=>e.GLib.get_language_names());o(JSON.stringify(n)).toBe(JSON.stringify(t.shows))})})}export{e as GLIB_LANGUAGE_ROWS,n as GLIB_LANGUAGE_TAG_ROWS,r as GLIB_LANGUAGE_TAG_VECTORS,t as GLIB_LANGUAGE_VECTORS,driveGLibLanguageTagVectors,driveGLibLanguageVectors};
@@ -0,0 +1 @@
1
+ import"../_virtual/_rolldown/runtime.js";const e=[`ascii`,`latin1`,`cjk`,`uncased`,`notLetter`,`unicode17`],t=[{row:`ascii`,rule:`an ASCII letter is alpha`,chars:[`A`,`z`],shows:!0},{row:`ascii`,rule:`an ASCII digit, underscore or space is not`,chars:[`0`,`9`,`_`,` `,`-`],shows:!1},{row:`latin1`,rule:`Latin-1 letters, the ordinal indicators and the micro sign are alpha`,chars:[`é`,`ß`,`ÿ`,`ª`,`º`,`µ`],shows:!0},{row:`latin1`,rule:`Latin-1 operators and superscript digits are not`,chars:[`×`,`÷`,`²`],shows:!1},{row:`cjk`,rule:`Han, kana, Hangul and the iteration mark are alpha`,chars:[`中`,`あ`,`가`,`〆`,`𠀀`],shows:!0},{row:`uncased`,rule:`a letter with no case is alpha: Hebrew, Arabic, Devanagari, Thai, a modifier letter`,chars:[`א`,`ب`,`क`,`ก`,`ʰ`,`𝐀`],shows:!0},{row:`notLetter`,rule:`an emoji, a non-ASCII digit, a combining mark or a letter-like number is not`,chars:[`😀`,`٣`,`́`,`ः`,`Ⅷ`],shows:!1},{row:`unicode17`,rule:`a letter new in Unicode 17 is alpha`,chars:[`𐥀`],shows:!0}];async function driveGLibUnicharVectors(e,n,r=t){let{describe:i,it:a,expect:o}=n;await i(`${e.name}: GLib unichar`,async()=>{for(let t of r)await a(`${t.row}: ${t.rule}`,async()=>{let n=t.chars.map(t=>[t,e.GLib.unichar_isalpha(t)]);o(JSON.stringify(n)).toBe(JSON.stringify(t.chars.map(e=>[e,t.shows])))})})}export{e as GLIB_UNICHAR_ROWS,t as GLIB_UNICHAR_VECTORS,driveGLibUnicharVectors};
@@ -0,0 +1,2 @@
1
+ import"../_virtual/_rolldown/runtime.js";const e=[`construct-basic`,`construct-array`,`signature`,`refused-type`,`unpack`,`equal`,`print`,`refused-method`];function outcome(e){try{return e()}catch(e){return{throws:e instanceof TypeError?`TypeError`:`Error`,message:e instanceof Error?e.message:String(e)}}}function plain(e){return Array.isArray(e)?e.map(plain):typeof e==`number`&&(!Number.isFinite(e)||Object.is(e,-0))?Object.is(e,-0)?`-0`:String(e):e}function deep(e,t,n){return n.map(n=>outcome(()=>plain(new e.GLib.Variant(t,n).deepUnpack())))}function seen(e,t,n){return outcome(()=>{let r=new e.GLib.Variant(t,n);return[r.get_type_string(),r.print(!0),r.print(!1),plain(r.deepUnpack())]})}const t={throws:`Error`,message:`Argument value: value is out of range for uint32`},notString=e=>({throws:`Error`,message:`Expected type string for argument 'string' but got type ${e}`}),notStrv=e=>({throws:`Error`,message:`Expected type utf8 for Argument 'strv' but got type '${e}'`}),badSignature=e=>({throws:`TypeError`,message:`Invalid GVariant signature ${e}`}),n=[{row:`construct-basic`,rule:`'b' is the value's truthiness`,holds:`oracle`,observe:e=>deep(e,`b`,[!0,!1,0,1,`x`,``,null,void 0,{},[]]),shows:[!0,!1,!1,!0,!0,!1,!1,!1,!0,!0]},{row:`construct-basic`,rule:`'i' converts like ToInt32: truncates, wraps out of range, never throws`,holds:`oracle`,observe:e=>deep(e,`i`,[1.5,-1.5,`7`,`x`,!0,null,void 0,{},[],[5],`0x10`,2147483648,-2147483649,1e10,NaN,1/0,-1/0]),shows:[1,-1,7,0,1,0,0,0,0,5,16,-2147483648,2147483647,1410065408,0,0,0]},{row:`construct-basic`,rule:`'u' truncates a value in range; a non-finite number and null/undefined are 0`,holds:`oracle`,observe:e=>deep(e,`u`,[1.9,`3`,`3.5`,NaN,1/0,-1/0,null,void 0,``,!0,[7],4294967295]),shows:[1,3,3,0,0,0,0,0,0,1,7,4294967295]},{row:`construct-basic`,rule:`'u' throws 'out of range for uint32' below 0, above 2^32-1 and for what does not convert`,holds:`oracle`,observe:e=>deep(e,`u`,[-1,-.5,4294967296,4294967295.5,`x`,{},[`x`],[1,2]]),shows:[t,t,t,t,t,t,t,t]},{row:`construct-basic`,rule:`'d' converts like Number()`,holds:`oracle`,observe:e=>deep(e,`d`,[1.5,`1.5`,`x`,void 0,null,!0,-0,1/0]),shows:[1.5,1.5,`NaN`,`NaN`,0,1,`-0`,`Infinity`]},{row:`construct-basic`,rule:`'s' takes only a string, cut at the first NUL; anything else throws naming its type`,holds:`oracle`,observe:e=>deep(e,`s`,[``,`ä€😀`,`a\0b`,3,!0,void 0,{},[],null]),shows:[``,`ä€😀`,`a`,notString(`number`),notString(`boolean`),notString(`undefined`),notString(`Object`),notString(`Array`),{throws:`Error`,message:`Argument string may not be null`}]},{row:`construct-array`,rule:`'ab' 'ai' 'au' 'ad' convert per element as their element type`,holds:`oracle`,observe:e=>[seen(e,`ab`,[1,0,`x`]),seen(e,`ai`,[1.5,`x`,2147483648]),seen(e,`au`,[1,`2`]),seen(e,`ad`,[1,`2`,NaN]),seen(e,`au`,[-1])],shows:[[`ab`,`[true, false, true]`,`[true, false, true]`,[!0,!1,!0]],[`ai`,`[1, 0, -2147483648]`,`[1, 0, -2147483648]`,[1,0,-2147483648]],[`au`,`[uint32 1, 2]`,`[1, 2]`,[1,2]],[`ad`,`[1.0, 2.0, nan]`,`[1.0, 2.0, nan]`,[1,2,`NaN`]],t]},{row:`construct-array`,rule:"a non-string array type reads `length` and indexes: a number is empty, a string or {length} is array-like, null throws",holds:`oracle`,observe:e=>[seen(e,`ai`,3),seen(e,`ai`,`ab`),seen(e,`ai`,{length:2}),seen(e,`ai`,[void 0]),seen(e,`ab`,{length:1}),seen(e,`ai`,null),seen(e,`ab`,void 0)],shows:[[`ai`,`@ai []`,`[]`,[]],[`ai`,`[0, 0]`,`[0, 0]`,[0,0]],[`ai`,`[0, 0]`,`[0, 0]`,[0,0]],[`ai`,`[0]`,`[0]`,[0]],[`ab`,`[false]`,`[false]`,[!1]],{throws:`TypeError`,message:`can't access property "length", value is null`},{throws:`TypeError`,message:`can't access property "length", value is undefined`}]},{row:`construct-array`,rule:`'as' takes an array of strings; a string, a non-array or a non-string element throws`,holds:`oracle`,observe:e=>[seen(e,`as`,[`a`,`b'c`]),seen(e,`as`,[]),seen(e,`as`,[`a`,3]),seen(e,`as`,{length:1}),seen(e,`as`,`ab`),seen(e,`as`,null),seen(e,`as`,void 0),seen(e,`as`,3),seen(e,`as`,{})],shows:[[`as`,`['a', "b'c"]`,`['a', "b'c"]`,[`a`,`b'c`]],[`as`,`@as []`,`[]`,[]],{throws:`Error`,message:`Invalid element in string array`},{throws:`Error`,message:`Invalid element in string array`},{throws:`Error`,message:`Cannot convert string to array of 'utf8'`},notStrv(`null`),notStrv(`undefined`),notStrv(`number`),notStrv(`Object`)]},{row:`signature`,rule:`an invalid signature throws a TypeError naming what is wrong`,holds:`oracle`,observe:e=>[``,`z`,`)`,`a`,`az`,`ii`,`ai i`,`ab(`,`(i`].map(t=>outcome(()=>new e.GLib.Variant(t,[1]))),shows:[{throws:`TypeError`,message:`GVariant signature cannot be empty`},badSignature(`(unexpected character z)`),badSignature(`(unexpected character ))`),badSignature(`(undefined is not a valid type)`),badSignature(`(z is not a valid type)`),badSignature(`(more than one single complete type)`),badSignature(`(more than one single complete type)`),badSignature(`(more than one single complete type)`),badSignature(`for type TUPLE (expected ")")`)]},{row:`refused-type`,rule:`a valid type string outside b i u d s and their arrays throws, naming the type string`,holds:`subset`,observe:e=>[`y`,`n`,`q`,`x`,`t`,`h`,`o`,`g`,`v`,`mi`,`aai`,`(i)`,`a{sv}`,`{si}`].map(t=>(outcome(()=>new e.GLib.Variant(t,1)).message??``).includes(`'${t}'`)),shows:[!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0]},{row:`unpack`,rule:`unpack() of a basic type is its value; of an array, an array of GLib.Variant of the element type`,holds:`oracle`,observe:e=>{let t=new e.GLib.Variant(`au`,[1,2]).unpack();return[new e.GLib.Variant(`i`,3).unpack(),new e.GLib.Variant(`s`,`a`).unpack(),typeof new e.GLib.Variant(`b`,1).unpack(),t.length,t.every(t=>t instanceof e.GLib.Variant),t.map(e=>e.print(!0))]},shows:[3,`a`,`boolean`,2,!0,[`uint32 1`,`uint32 2`]]},{row:`unpack`,rule:`deepUnpack() and recursiveUnpack() return plain values; deep_unpack is the same function`,holds:`oracle`,observe:e=>[new e.GLib.Variant(`ai`,[1,2]).deepUnpack(),new e.GLib.Variant(`as`,[`a`]).recursiveUnpack(),new e.GLib.Variant(`ab`,[!0]).deep_unpack(),e.GLib.Variant.prototype.deep_unpack===e.GLib.Variant.prototype.deepUnpack],shows:[[1,2],[`a`],[!0],!0]},{row:`unpack`,rule:`get_type_string, toString, instanceof and the deprecated Variant.new`,holds:`oracle`,observe:e=>{let t=e.GLib.Variant.new(`ai`,[1]);return[t.get_type_string(),String(t),t instanceof e.GLib.Variant,t.print(!0)]},shows:[`ai`,`[object variant of type "ai"]`,!0,`[1]`]},{row:`equal`,rule:`equal() needs the same type string and value; NaN equals NaN, 0 not -0; a non-Variant throws`,holds:`oracle`,observe:e=>{let V=(t,n)=>new e.GLib.Variant(t,n);return[V(`ai`,[1]).equal(V(`ai`,[1])),V(`ai`,[1]).equal(V(`au`,[1])),V(`ai`,[]).equal(V(`au`,[])),V(`i`,1).equal(V(`i`,2)),V(`d`,NaN).equal(V(`d`,NaN)),V(`d`,0).equal(V(`d`,-0)),V(`as`,[`a`]).equal(V(`as`,[`a`])),outcome(()=>V(`i`,1).equal(1))]},shows:[!0,!1,!1,!1,!0,!1,!0,{throws:`Error`,message:`Expected an object of type GVariant for argument 'two' but got type number`}]},{row:`print`,rule:`print() writes GLib's text format: 'u' annotated, the first array element annotated, an empty array as @type []`,holds:`oracle`,observe:e=>{let V=(t,n)=>new e.GLib.Variant(t,n);return[[V(`b`,!0).print(!0),V(`i`,-5).print(!0),V(`u`,5).print(!0),V(`u`,5).print(!1)],[V(`au`,[1,2]).print(!0),V(`au`,[1,2]).print(!1),V(`ai`,[1,2]).print(!0)],[`ab`,`ai`,`au`,`ad`,`as`].map(e=>[V(e,[]).print(!0),V(e,[]).print(!1)])]},shows:[[`true`,`-5`,`uint32 5`,`5`],[`[uint32 1, 2]`,`[1, 2]`,`[1, 2]`],[[`@ab []`,`[]`],[`@ai []`,`[]`],[`@au []`,`[]`],[`@ad []`,`[]`],[`@as []`,`[]`]]]},{row:`print`,rule:`a double prints as %.17g, with '.0' added when it reads as an integer`,holds:`oracle`,observe:e=>[1,1.5,-0,0,1e21,1e-7,123456789.123,.1,NaN,1/0,-1/0,1/3,0x2386f26fc10000,0x16345785d8a0000,5e-5,1e-4,1e-5,25e-301].map(t=>new e.GLib.Variant(`d`,t).print(!1)),shows:[`1.0`,`1.5`,`-0.0`,`0.0`,`1e+21`,`9.9999999999999995e-08`,`123456789.123`,`0.10000000000000001`,`nan`,`inf`,`-inf`,`0.33333333333333331`,`10000000000000000.0`,`1e+17`,`5.0000000000000002e-05`,`0.0001`,`1.0000000000000001e-05`,`2.5e-300`]},{row:`print`,rule:`a string is single-quoted unless it holds ' ; the quote and \\ are escaped, a non-printing character (Cc, Cf, unassigned) as \\a…\\v, \\uXXXX or \\UXXXXXXXX`,holds:`oracle`,observe:e=>[`a'b`,`a"b`,`a'"b`,`a\\b`,`tab nl
2
+ `,`\x07\b\v\f\r`,`\x1B`,`ä€😀`,`\xA0\u2028`,`­​…`,`􏿿`,`͸﷐𯿾`,`󠀁⁦؜`,`󰀀`,`𱍊𱍋𲎯`].map(t=>new e.GLib.Variant(`s`,t).print(!1)),shows:[`"a'b"`,`'a"b'`,`"a'\\"b"`,`'a\\\\b'`,`'tab\\tnl\\n'`,`'\\a\\b\\v\\f\\r'`,`'\\u0001\\u007f\\u001b'`,`'ä€😀'`,`'\xA0\u2028'`,`'\\u00ad\\u200b\\u0085'`,`'\\U0010ffff'`,`'\\u0378\\ufdd0\\U0002fffe'`,`'\\U000e0001\\u2066\\u061c'`,`'󰀀'`,`'𱍊\\U0003134b𲎯'`]},{row:`refused-method`,rule:`the typed getters, child access, parse, new_* and the serialisation methods throw, naming themselves`,holds:`subset`,observe:e=>{let t=new e.GLib.Variant(`ai`,[1]),n=e.GLib.Variant,r=[`get_boolean`,`get_int32`,`get_uint32`,`get_double`,`get_string`,`get_strv`,`n_children`,`get_child_value`,`get_data_as_bytes`,`byteswap`,`hash`,`compare`],i=[`parse`,`new_int32`,`new_string`,`new_strv`,`new_array`],names=(e,t)=>(outcome(e).message??``).includes(t);return[...r.map(e=>names(()=>t[e](),e)),...i.map(e=>names(()=>n[e](),e))]},shows:[!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0]}];async function driveGLibVariantVectors(e,t,r=n){let{describe:i,it:a,expect:o}=t;await i(`${e.name}: GLib.Variant subset (ADR 0118)`,async()=>{for(let t of r)t.holds===`subset`&&e.isOracle||await a(`${t.row}: ${t.rule}`,()=>{o(JSON.stringify(t.observe(e))).toBe(JSON.stringify(t.shows))})})}export{e as GLIB_VARIANT_ROWS,n as GLIB_VARIANT_VECTORS,driveGLibVariantVectors};
@@ -1 +1 @@
1
- import{ABOUT_DIALOG_DOOR_VECTORS as e,RELEASE_NOTES_VECTORS as t,driveAboutDialogDoorVectors as n,driveReleaseNotesVectors as r}from"./about-dialog-doors.js";import{ABOUT_DIALOG_CREDITS_LEGAL_VECTORS as i,ABOUT_DIALOG_DETAILS_VECTORS as a,ABOUT_DIALOG_HEADER_VECTORS as o,ABOUT_DIALOG_LABEL_VECTORS as s,ABOUT_DIALOG_SUPPORT_VECTORS as c,CREDITS_SECTIONS_VECTORS as l,CREDIT_PERSON_VECTORS as u,LEGAL_SECTION_VECTORS as d,LICENSE_INFO_VECTORS as f,LICENSE_SETTER_VECTORS as p,LICENSE_SPDX_VECTORS as m,LICENSE_TEXT_VECTORS as h,TRANSLATOR_CREDITS_VECTORS as g}from"./about-dialog.js";import{ACCENT_COLOR_VECTORS as _,NEAREST_ACCENT_VECTORS as v}from"./accent.js";import{ACTION_ROW_ACTIVATION_VECTORS as y,BUTTON_ROW_ACTIVATABLE_VECTORS as b,BUTTON_ROW_ICON_VECTORS as x,LABEL_VISIBILITY_VECTORS as S,SWITCH_ROW_NOTIFY_VECTORS as C,WINDOW_TITLE_VECTORS as w}from"./action-row.js";import{ADJUSTMENT_AUTHORED_VECTORS as T,ADJUSTMENT_PARSE_VECTORS as E,ADJUSTMENT_SNAP_VECTORS as D}from"./adjustment.js";import{APPEARANCE_HANDOFF_VECTORS as O}from"./appearance.js";import{APPLICATION_ROWS as k,APPLICATION_VECTORS as A,driveApplicationVectors as j,unlockedVfuncNames as M,unprovenVfuncs as N}from"./application.js";import{AVATAR_COLOR_VECTORS as P,AVATAR_FONT_SIZE_VECTORS as F,AVATAR_ICON_SIZE_VECTORS as I,AVATAR_INITIALS_VECTORS as L,AVATAR_MODE_VECTORS as R}from"./avatar.js";import{BANNER_BUTTON_STYLE_PARSE_VECTORS as z,BANNER_BUTTON_STYLE_VECTORS as B,BANNER_BUTTON_TEXT_VECTORS as V,BANNER_BUTTON_VISIBLE_VECTORS as H,BANNER_DEFAULT_VECTORS as U}from"./banner.js";import{BOX_ALL_VECTORS as W,BOX_ROW_VECTORS as G,BOX_SELECT_VECTORS as K}from"./box-selection.js";import{BOX_ORIENTATION_VECTORS as q,BOX_SPACING_VECTORS as J}from"./box.js";import{BREAKPOINT_PICK_VECTORS as Y,BREAKPOINT_TRANSITION_VECTORS as X}from"./breakpoint-bin.js";import{BUTTON_CONTENT_DEFAULT_VECTORS as Z,BUTTON_CONTENT_ELLIPSIZE_VECTORS as Q,BUTTON_CONTENT_ICON_VECTORS as $,BUTTON_CONTENT_LABEL_VECTORS as ee,BUTTON_CONTENT_STYLE_TARGET_VECTORS as te,BUTTON_CONTENT_TEXT_VECTORS as ne}from"./button-content.js";import{BUTTON_STYLE_CLASS_VECTORS as re}from"./button.js";import{CALENDAR_DAYS_VECTORS as ie,CALENDAR_MARK_VECTORS as ae,CALENDAR_NAVIGATION_VECTORS as oe,CALENDAR_SELECT_VECTORS as se,CALENDAR_STEP_VECTORS as ce,CALENDAR_WEEK_VECTORS as le}from"./calendar.js";import{CAROUSEL_DOOR_VECTORS as ue,driveCarouselDoorVectors as de}from"./carousel-doors.js";import{CAROUSEL_CLAMP_VECTORS as fe,CAROUSEL_NAVIGATE_VECTORS as pe,CAROUSEL_PAGE_ALLOCATION_VECTORS as me,CAROUSEL_PAGE_AT_POSITION_VECTORS as he,CAROUSEL_PAGE_LIST_VECTORS as ge,CAROUSEL_PROPERTY_DEFAULT_VECTORS as _e,CAROUSEL_RANGE_VECTORS as ve,CAROUSEL_REORDER_SHIFT_VECTORS as ye,CAROUSEL_REVEAL_VECTORS as be,CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS as xe,CAROUSEL_SNAP_POINT_VECTORS as Se,CAROUSEL_WHEEL_LOCKOUT_VECTORS as Ce,CAROUSEL_WHEEL_VECTORS as we}from"./carousel.js";import{CHECK_GROUP_VECTORS as Te,driveCheckGroupVectors as Ee}from"./check-group.js";import{RADIO_GROUP_VECTORS as De}from"./checks.js";import{CLAMP_ALLOCATE_VECTORS as Oe,CLAMP_CHILD_SIZE_VECTORS as ke,CLAMP_PROPERTY_VECTORS as Ae,CLAMP_SIZE_FROM_CHILD_VECTORS as je,CLAMP_THRESHOLD_VECTORS as Me,SPINNER_GEOMETRY_VECTORS as Ne,SPINNER_SIZE_VECTORS as Pe,TOOLBAR_VIEW_ALLOCATE_VECTORS as Fe,TOOLBAR_VIEW_CLASS_VECTORS as Ie,TOOLBAR_VIEW_CONTENT_FOR_SIZE_VECTORS as Le,TOOLBAR_VIEW_MEASURE_VECTORS as Re}from"./chrome.js";import{ENTRY_MAX_LENGTH_VECTORS as ze,ENTRY_ROW_ACTIVATION_VECTORS as Be,ENTRY_ROW_GUARD_VECTORS as Ve,ENTRY_ROW_STATE_VECTORS as He,ENTRY_TEXT_LENGTH_VECTORS as Ue,PASSWORD_ENTRY_ROW_VECTORS as We,PASSWORD_REVEAL_GUARD_VECTORS as Ge}from"./entry-row.js";import{SHARED_TREE_BLOCKS_WITHOUT_EXPECTATIONS as Ke,SHARED_TREE_TABLES as qe,authoredNodes as Je,authoredTags as Ye,reachedTables as Xe,sharedTreeExpectations as Ze,sharedTreePlacements as Qe,subjectIndexOf as $e,withoutPlacements as et}from"./shared-trees.js";import{BREAKPOINT_VECTOR_SIZES as tt,CONSTRUCT_KINDS as nt,CONSTRUCT_VECTORS as rt,EXTERN_VECTOR_CLASS as it,UnsupportedConstructError as at,assertTreeConstructs as ot,constructUsesOf as st,driveConstructVectors as ct}from"./constructs.js";import{DATA_GRID_CELL_TEXT_VECTORS as lt,DATA_GRID_COLUMN_CLASS_VECTORS as ut,DATA_GRID_COLUMN_NORMALIZE_VECTORS as dt,DATA_GRID_INTERACTIVE_VECTORS as ft,DATA_GRID_TRACK_VECTORS as pt,DATA_GRID_VARIANT_VECTORS as mt}from"./data-grid.js";import{BOTTOM_SHEET_BOTTOM_BAR_VECTORS as ht,BOTTOM_SHEET_CLOSE_VECTORS as gt,BOTTOM_SHEET_OPEN_VECTORS as _t,BOTTOM_SHEET_PRESENTATION_VECTORS as vt,BOTTOM_SHEET_SWIPE_TRACKER_VECTORS as yt,runBottomSheetBottomBarSteps as bt,runBottomSheetSteps as xt}from"./dialog.js";import{FILE_CHOOSER_ROWS as St,FILE_CHOOSER_VECTORS as Ct,driveFileChooserVectors as wt,promisifyFileChooser as Tt}from"./file-chooser.js";import{GDK_CLIPBOARD_ROWS as Et,GDK_CLIPBOARD_VECTORS as Dt,driveGdkClipboardVectors as Ot}from"./gdk-clipboard.js";import{GIO_APP_INFO_ROWS as kt,GIO_APP_INFO_VECTORS as At,driveGioAppInfoVectors as jt}from"./gio-app-info.js";import{GIO_RESOURCE_ROWS as Mt,GIO_RESOURCE_VECTORS as Nt,driveGioResourceVectors as Pt,gioResourceFixtures as Ft}from"./gio-resource.js";import{GLIB_PATH_ROWS as It,GLIB_PATH_VECTORS as Lt,driveGLibPathVectors as Rt}from"./glib-paths.js";import{GLIB_TIMER_ROWS as zt,GLIB_TIMER_VECTORS as Bt,driveGLibTimerVectors as Vt}from"./glib-timers.js";import{GLIB_URI_ROWS as Ht,GLIB_URI_VECTORS as Ut,driveGLibUriVectors as Wt}from"./glib-uri.js";import{GOBJECT_ROWS as Gt,GOBJECT_VECTORS as Kt,driveGObjectVectors as qt}from"./gobject.js";import{GRID_NAVIGATION_GEOMETRY as Jt,GRID_NAVIGATION_VECTORS as Yt}from"./grid-navigation.js";import{GTK_PLATFORM_ROWS as Xt,GTK_PLATFORM_VECTORS as Zt,driveGtkPlatformVectors as Qt}from"./gtk-platform.js";import{HEADER_BAR_PACK_VECTORS as $t,HEADER_BAR_TITLE_SOURCE_VECTORS as en,HEADER_BAR_TITLE_WIDGET_VECTORS as tn}from"./header-bar.js";import{ICON_FIXTURE_PATH as nn,ICON_THEME_RESOURCE_ROWS as rn,ICON_THEME_RESOURCE_VECTORS as an,driveIconThemeResourceVectors as on}from"./icon-theme-resources.js";import{ROW_ACCESSOR_VECTORS as sn,driveRowAccessorVectors as cn}from"./row-accessors.js";import{COMBO_CHOOSER_VECTORS as ln,COMBO_SELECTION_VECTORS as un,TOGGLE_ACTIVE_NAME_VECTORS as dn}from"./rows.js";import{VIEW_STACK_ICON_NAME_VECTORS as fn,VIEW_STACK_PAGE_VECTORS as pn,VIEW_STACK_VECTORS as mn}from"./view-stack.js";import{NAVIGATION_VIEW_VECTORS as hn,collectNavigationState as gn,navigationEventLog as _n,runNavigationSteps as vn}from"./navigation-view.js";import{SIDEBAR_ACTIVATION_VECTORS as yn,SIDEBAR_CLAMP_VECTORS as bn,SIDEBAR_FILTER_VECTORS as xn,SIDEBAR_ITEMS_CHANGED_VECTORS as Sn,SIDEBAR_ITEM_FLAG_VECTORS as Cn,SIDEBAR_MODEL_VECTORS as wn,SIDEBAR_MODE_VECTORS as Tn}from"./sidebar.js";import{ADW_LENGTH_UNIT_VECTORS as En,GLIB_CLAMP_VECTORS as Dn,NATURAL_SIDEBAR_WIDTH_VECTORS as On,NAVIGATION_ACTION_VECTORS as kn,NAVIGATION_SPLIT_VIEW_LAYOUT_VECTORS as An,NAVIGATION_STACK_VECTORS as jn,OVERLAY_COLLAPSE_VECTORS as Mn,OVERLAY_SPLIT_VIEW_LAYOUT_VECTORS as Nn,OVERLAY_SWIPE_AREA_VECTORS as Pn,OVERLAY_SWIPE_CANCEL_VECTORS as Fn,OVERLAY_SWIPE_RELEASE_VECTORS as In,OVERLAY_SWIPE_SNAP_POINT_VECTORS as Ln,OVERLAY_SWIPE_START_VECTORS as Rn,SIDEBAR_BOUNDS_VECTORS as zn,SIDEBAR_WIDTH_VECTORS as Bn,SPLIT_VIEW_MEASURE_VECTORS as Vn,TAGS_CONFLICT_VECTORS as Hn}from"./split-view.js";import{MENU_BUTTON_DIRECTION_VECTORS as Un,SPLIT_BUTTON_CONTENT_VECTORS as Wn,SPLIT_BUTTON_DIRECTION_VECTORS as Gn,SPLIT_BUTTON_DROPDOWN_VECTORS as Kn,SPLIT_BUTTON_MENU_ACTIVATION_VECTORS as qn,SPLIT_BUTTON_ROOT_STATE_VECTORS as Jn,SPLIT_BUTTON_STYLE_CLASS_VECTORS as Yn,SPLIT_BUTTON_TOOLTIP_VECTORS as Xn}from"./split-button.js";import{LIST_ITEMS_CHANGED_VECTORS as Zn,LIST_MODEL_OWNERSHIP_VECTORS as Qn,LIST_NORMALIZE_VECTORS as $n,LIST_PARSE_VECTORS as er,LIST_SELECTION_CLAMP_VECTORS as tr,TAB_PAGES_ITEMS_CHANGED_VECTORS as nr,applyListReadback as rr,replayTabPagesAsSplices as ir}from"./list.js";import{COLUMN_VIEW_SORT_VECTORS as ar,GRID_VIEW_COLUMN_VECTORS as or,LIST_VIEW_SELECT_VECTORS as sr}from"./list-view.js";import{TREE_EXPANDER_LAYOUT_VECTORS as cr,TREE_EXPANDER_SHORTCUT_VECTORS as lr}from"./tree-expander.js";import{MENU_DETAILED_ACTION_VECTORS as ur,MENU_FLATTEN_VECTORS as dr,MENU_ITEM_STATE_VECTORS as fr,MENU_LABEL_TEXT_VECTORS as pr,MENU_NORMALIZE_VECTORS as mr,MENU_PARSE_VECTORS as hr,MENU_REFUSAL_VECTORS as gr}from"./menu.js";import{INLINE_TOGGLE_VECTORS as _r,INLINE_TOOLTIP_VECTORS as vr,VIEW_SWITCHER_BADGE_VECTORS as yr,VIEW_SWITCHER_BAR_REVEAL_VECTORS as br,VIEW_SWITCHER_BAR_VECTORS as xr,VIEW_SWITCHER_BUTTON_VECTORS as Sr,VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS as Cr,VIEW_SWITCHER_DRAG_VECTORS as wr,VIEW_SWITCHER_ICON_VECTORS as Tr,VIEW_SWITCHER_MNEMONIC_VECTORS as Er,VIEW_SWITCHER_REBUILD_VECTORS as Dr,VIEW_SWITCHER_SELECTION_VECTORS as Or,VIEW_SWITCHER_SIDEBAR_SECTION_VECTORS as kr,createViewSwitcherClock as Ar}from"./view-switcher.js";import{TABS_REVEALED_VECTORS as jr,TAB_CLOSE_VISIBLE_VECTORS as Mr,TAB_DESCENDANT_VECTORS as Nr,TAB_ICON_STATE_VECTORS as Pr,TAB_PAGE_DESCRIPTOR_VECTORS as Fr,TAB_SEARCH_VECTORS as Ir,TAB_SUCCESSOR_VECTORS as Lr,TAB_TOOLTIP_VECTORS as Rr,TAB_VIEW_VECTORS as zr,applyTabViewOp as Br,seedTabViewPages as Vr,tabViewClosing as Hr,tabViewOrder as Ur}from"./tab-view.js";import{CASE_FOLD_VECTORS as Wr,MAKE_COMPARABLE_VECTORS as Gr,PREFERENCES_GROUP_HEADER_VECTORS as Kr,PREFERENCES_SEARCH_PAGES as qr,PREFERENCES_SEARCH_VECTORS as Jr,ROW_MATCH_VECTORS as Yr,SEARCH_CORPUS_VECTORS as Xr,SEARCH_ROW_SUBTITLE_VECTORS as Zr,STRIP_MARKUP_VECTORS as Qr,STRIP_MNEMONIC_VECTORS as $r}from"./preferences.js";import{POPOVER_KEY_VECTORS as ei,POPOVER_SURFACE_VECTORS as ti}from"./popover.js";import{SHORTCUT_LABEL_VECTORS as ni,formatShortcutLabelNodes as ri}from"./shortcut-label.js";import{SPINNER_ARC_ENVELOPE as ii,SPINNER_ARC_PHASE_VECTORS as ai,SPINNER_ARC_TOLERANCE as oi,SPINNER_CONSTANT_VECTORS as si}from"./spinner.js";import{LABEL_CHAR_COUNT_VECTORS as ci,LABEL_DISPLAY_TEXT_VECTORS as li,LABEL_EFFECTIVE_LINES_VECTORS as ui,LABEL_ELLIPSIZE_OVERFLOW_VECTORS as di,LABEL_ELLIPSIZE_VECTORS as fi,LABEL_JUSTIFY_VECTORS as pi,LABEL_WIDTH_CHARS_EXTENT_VECTORS as mi,LABEL_WRAP_MODE_VECTORS as hi,LABEL_XALIGN_VECTORS as gi,LABEL_YALIGN_ALIGN_ITEMS_VECTORS as _i,LABEL_YALIGN_VECTORS as vi}from"./label.js";import{WRAP_BOX_CHILD_ORDER_VECTORS as yi,WRAP_BOX_LENGTH_VECTORS as bi,WRAP_BOX_LINE_VECTORS as xi,WRAP_BOX_NATURAL_LENGTH_VECTORS as Si,WRAP_BOX_NOTIFY_PROPERTIES as Ci,WRAP_BOX_POLICY_VECTORS as wi,WRAP_BOX_SPACING_NOTIFY_VECTORS as Ti,WRAP_BOX_SPACING_VECTORS as Ei}from"./wrap-box.js";import{ATTRIBUTE_OF_VECTORS as Di,HOST_TAG_VECTORS as Oi,PROPERTY_OF_VECTORS as ki}from"./tags.js";import{VALUE_LIST_VECTORS as Ai}from"./value-lists.js";import{POPUP_MENU_PLAN_VECTORS as ji,popupMenuOutline as Mi}from"./popup-menu-plan.js";import{MENU_ACTION_VECTORS as Ni,driveMenuActionVectors as Pi,registryMenuActionScene as Fi}from"./menu-actions.js";import{MENU_TREE_VECTORS as Ii}from"./menu-tree.js";import{STYLE_MANAGER_ROWS as Li,STYLE_MANAGER_VECTORS as Ri,driveStyleManagerVectors as zi}from"./style-manager.js";import{SIMPLE_ACTION_GROUP_ROWS as Bi,SIMPLE_ACTION_GROUP_VECTORS as Vi,driveSimpleActionGroupVectors as Hi}from"./simple-action-group.js";import{WINDOW_ROWS as Ui,WINDOW_VECTORS as Wi,driveWindowVectors as Gi}from"./window-members.js";import{WIDGET_MAP_ROWS as Ki,WIDGET_MAP_VECTORS as qi,driveWidgetMapVectors as Ji}from"./widget-map.js";export{i as ABOUT_DIALOG_CREDITS_LEGAL_VECTORS,a as ABOUT_DIALOG_DETAILS_VECTORS,e as ABOUT_DIALOG_DOOR_VECTORS,o as ABOUT_DIALOG_HEADER_VECTORS,s as ABOUT_DIALOG_LABEL_VECTORS,c as ABOUT_DIALOG_SUPPORT_VECTORS,_ as ACCENT_COLOR_VECTORS,y as ACTION_ROW_ACTIVATION_VECTORS,T as ADJUSTMENT_AUTHORED_VECTORS,E as ADJUSTMENT_PARSE_VECTORS,D as ADJUSTMENT_SNAP_VECTORS,En as ADW_LENGTH_UNIT_VECTORS,O as APPEARANCE_HANDOFF_VECTORS,k as APPLICATION_ROWS,A as APPLICATION_VECTORS,Di as ATTRIBUTE_OF_VECTORS,P as AVATAR_COLOR_VECTORS,F as AVATAR_FONT_SIZE_VECTORS,I as AVATAR_ICON_SIZE_VECTORS,L as AVATAR_INITIALS_VECTORS,R as AVATAR_MODE_VECTORS,z as BANNER_BUTTON_STYLE_PARSE_VECTORS,B as BANNER_BUTTON_STYLE_VECTORS,V as BANNER_BUTTON_TEXT_VECTORS,H as BANNER_BUTTON_VISIBLE_VECTORS,U as BANNER_DEFAULT_VECTORS,ht as BOTTOM_SHEET_BOTTOM_BAR_VECTORS,gt as BOTTOM_SHEET_CLOSE_VECTORS,_t as BOTTOM_SHEET_OPEN_VECTORS,vt as BOTTOM_SHEET_PRESENTATION_VECTORS,yt as BOTTOM_SHEET_SWIPE_TRACKER_VECTORS,W as BOX_ALL_VECTORS,q as BOX_ORIENTATION_VECTORS,G as BOX_ROW_VECTORS,K as BOX_SELECT_VECTORS,J as BOX_SPACING_VECTORS,Y as BREAKPOINT_PICK_VECTORS,X as BREAKPOINT_TRANSITION_VECTORS,tt as BREAKPOINT_VECTOR_SIZES,Z as BUTTON_CONTENT_DEFAULT_VECTORS,Q as BUTTON_CONTENT_ELLIPSIZE_VECTORS,$ as BUTTON_CONTENT_ICON_VECTORS,ee as BUTTON_CONTENT_LABEL_VECTORS,te as BUTTON_CONTENT_STYLE_TARGET_VECTORS,ne as BUTTON_CONTENT_TEXT_VECTORS,b as BUTTON_ROW_ACTIVATABLE_VECTORS,x as BUTTON_ROW_ICON_VECTORS,re as BUTTON_STYLE_CLASS_VECTORS,ie as CALENDAR_DAYS_VECTORS,ae as CALENDAR_MARK_VECTORS,oe as CALENDAR_NAVIGATION_VECTORS,se as CALENDAR_SELECT_VECTORS,ce as CALENDAR_STEP_VECTORS,le as CALENDAR_WEEK_VECTORS,fe as CAROUSEL_CLAMP_VECTORS,ue as CAROUSEL_DOOR_VECTORS,pe as CAROUSEL_NAVIGATE_VECTORS,me as CAROUSEL_PAGE_ALLOCATION_VECTORS,he as CAROUSEL_PAGE_AT_POSITION_VECTORS,ge as CAROUSEL_PAGE_LIST_VECTORS,_e as CAROUSEL_PROPERTY_DEFAULT_VECTORS,ve as CAROUSEL_RANGE_VECTORS,ye as CAROUSEL_REORDER_SHIFT_VECTORS,be as CAROUSEL_REVEAL_VECTORS,xe as CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS,Se as CAROUSEL_SNAP_POINT_VECTORS,Ce as CAROUSEL_WHEEL_LOCKOUT_VECTORS,we as CAROUSEL_WHEEL_VECTORS,Wr as CASE_FOLD_VECTORS,Te as CHECK_GROUP_VECTORS,Oe as CLAMP_ALLOCATE_VECTORS,ke as CLAMP_CHILD_SIZE_VECTORS,Ae as CLAMP_PROPERTY_VECTORS,je as CLAMP_SIZE_FROM_CHILD_VECTORS,Me as CLAMP_THRESHOLD_VECTORS,ar as COLUMN_VIEW_SORT_VECTORS,ln as COMBO_CHOOSER_VECTORS,un as COMBO_SELECTION_VECTORS,nt as CONSTRUCT_KINDS,rt as CONSTRUCT_VECTORS,l as CREDITS_SECTIONS_VECTORS,u as CREDIT_PERSON_VECTORS,lt as DATA_GRID_CELL_TEXT_VECTORS,ut as DATA_GRID_COLUMN_CLASS_VECTORS,dt as DATA_GRID_COLUMN_NORMALIZE_VECTORS,ft as DATA_GRID_INTERACTIVE_VECTORS,pt as DATA_GRID_TRACK_VECTORS,mt as DATA_GRID_VARIANT_VECTORS,ze as ENTRY_MAX_LENGTH_VECTORS,Be as ENTRY_ROW_ACTIVATION_VECTORS,Ve as ENTRY_ROW_GUARD_VECTORS,He as ENTRY_ROW_STATE_VECTORS,Ue as ENTRY_TEXT_LENGTH_VECTORS,it as EXTERN_VECTOR_CLASS,St as FILE_CHOOSER_ROWS,Ct as FILE_CHOOSER_VECTORS,Et as GDK_CLIPBOARD_ROWS,Dt as GDK_CLIPBOARD_VECTORS,kt as GIO_APP_INFO_ROWS,At as GIO_APP_INFO_VECTORS,Mt as GIO_RESOURCE_ROWS,Nt as GIO_RESOURCE_VECTORS,Dn as GLIB_CLAMP_VECTORS,It as GLIB_PATH_ROWS,Lt as GLIB_PATH_VECTORS,zt as GLIB_TIMER_ROWS,Bt as GLIB_TIMER_VECTORS,Ht as GLIB_URI_ROWS,Ut as GLIB_URI_VECTORS,Gt as GOBJECT_ROWS,Kt as GOBJECT_VECTORS,Jt as GRID_NAVIGATION_GEOMETRY,Yt as GRID_NAVIGATION_VECTORS,or as GRID_VIEW_COLUMN_VECTORS,Xt as GTK_PLATFORM_ROWS,Zt as GTK_PLATFORM_VECTORS,$t as HEADER_BAR_PACK_VECTORS,en as HEADER_BAR_TITLE_SOURCE_VECTORS,tn as HEADER_BAR_TITLE_WIDGET_VECTORS,Oi as HOST_TAG_VECTORS,nn as ICON_FIXTURE_PATH,rn as ICON_THEME_RESOURCE_ROWS,an as ICON_THEME_RESOURCE_VECTORS,_r as INLINE_TOGGLE_VECTORS,vr as INLINE_TOOLTIP_VECTORS,ci as LABEL_CHAR_COUNT_VECTORS,li as LABEL_DISPLAY_TEXT_VECTORS,ui as LABEL_EFFECTIVE_LINES_VECTORS,di as LABEL_ELLIPSIZE_OVERFLOW_VECTORS,fi as LABEL_ELLIPSIZE_VECTORS,pi as LABEL_JUSTIFY_VECTORS,S as LABEL_VISIBILITY_VECTORS,mi as LABEL_WIDTH_CHARS_EXTENT_VECTORS,hi as LABEL_WRAP_MODE_VECTORS,gi as LABEL_XALIGN_VECTORS,_i as LABEL_YALIGN_ALIGN_ITEMS_VECTORS,vi as LABEL_YALIGN_VECTORS,d as LEGAL_SECTION_VECTORS,f as LICENSE_INFO_VECTORS,p as LICENSE_SETTER_VECTORS,m as LICENSE_SPDX_VECTORS,h as LICENSE_TEXT_VECTORS,Zn as LIST_ITEMS_CHANGED_VECTORS,Qn as LIST_MODEL_OWNERSHIP_VECTORS,$n as LIST_NORMALIZE_VECTORS,er as LIST_PARSE_VECTORS,tr as LIST_SELECTION_CLAMP_VECTORS,sr as LIST_VIEW_SELECT_VECTORS,Gr as MAKE_COMPARABLE_VECTORS,Ni as MENU_ACTION_VECTORS,Un as MENU_BUTTON_DIRECTION_VECTORS,ur as MENU_DETAILED_ACTION_VECTORS,dr as MENU_FLATTEN_VECTORS,fr as MENU_ITEM_STATE_VECTORS,pr as MENU_LABEL_TEXT_VECTORS,mr as MENU_NORMALIZE_VECTORS,hr as MENU_PARSE_VECTORS,gr as MENU_REFUSAL_VECTORS,Ii as MENU_TREE_VECTORS,On as NATURAL_SIDEBAR_WIDTH_VECTORS,kn as NAVIGATION_ACTION_VECTORS,An as NAVIGATION_SPLIT_VIEW_LAYOUT_VECTORS,jn as NAVIGATION_STACK_VECTORS,hn as NAVIGATION_VIEW_VECTORS,v as NEAREST_ACCENT_VECTORS,Mn as OVERLAY_COLLAPSE_VECTORS,Nn as OVERLAY_SPLIT_VIEW_LAYOUT_VECTORS,Pn as OVERLAY_SWIPE_AREA_VECTORS,Fn as OVERLAY_SWIPE_CANCEL_VECTORS,In as OVERLAY_SWIPE_RELEASE_VECTORS,Ln as OVERLAY_SWIPE_SNAP_POINT_VECTORS,Rn as OVERLAY_SWIPE_START_VECTORS,We as PASSWORD_ENTRY_ROW_VECTORS,Ge as PASSWORD_REVEAL_GUARD_VECTORS,ei as POPOVER_KEY_VECTORS,ti as POPOVER_SURFACE_VECTORS,ji as POPUP_MENU_PLAN_VECTORS,Kr as PREFERENCES_GROUP_HEADER_VECTORS,qr as PREFERENCES_SEARCH_PAGES,Jr as PREFERENCES_SEARCH_VECTORS,ki as PROPERTY_OF_VECTORS,De as RADIO_GROUP_VECTORS,t as RELEASE_NOTES_VECTORS,sn as ROW_ACCESSOR_VECTORS,Yr as ROW_MATCH_VECTORS,Xr as SEARCH_CORPUS_VECTORS,Zr as SEARCH_ROW_SUBTITLE_VECTORS,Ke as SHARED_TREE_BLOCKS_WITHOUT_EXPECTATIONS,qe as SHARED_TREE_TABLES,ni as SHORTCUT_LABEL_VECTORS,yn as SIDEBAR_ACTIVATION_VECTORS,zn as SIDEBAR_BOUNDS_VECTORS,bn as SIDEBAR_CLAMP_VECTORS,xn as SIDEBAR_FILTER_VECTORS,Sn as SIDEBAR_ITEMS_CHANGED_VECTORS,Cn as SIDEBAR_ITEM_FLAG_VECTORS,wn as SIDEBAR_MODEL_VECTORS,Tn as SIDEBAR_MODE_VECTORS,Bn as SIDEBAR_WIDTH_VECTORS,Bi as SIMPLE_ACTION_GROUP_ROWS,Vi as SIMPLE_ACTION_GROUP_VECTORS,ii as SPINNER_ARC_ENVELOPE,ai as SPINNER_ARC_PHASE_VECTORS,oi as SPINNER_ARC_TOLERANCE,si as SPINNER_CONSTANT_VECTORS,Ne as SPINNER_GEOMETRY_VECTORS,Pe as SPINNER_SIZE_VECTORS,Wn as SPLIT_BUTTON_CONTENT_VECTORS,Gn as SPLIT_BUTTON_DIRECTION_VECTORS,Kn as SPLIT_BUTTON_DROPDOWN_VECTORS,qn as SPLIT_BUTTON_MENU_ACTIVATION_VECTORS,Jn as SPLIT_BUTTON_ROOT_STATE_VECTORS,Yn as SPLIT_BUTTON_STYLE_CLASS_VECTORS,Xn as SPLIT_BUTTON_TOOLTIP_VECTORS,Vn as SPLIT_VIEW_MEASURE_VECTORS,Qr as STRIP_MARKUP_VECTORS,$r as STRIP_MNEMONIC_VECTORS,Li as STYLE_MANAGER_ROWS,Ri as STYLE_MANAGER_VECTORS,C as SWITCH_ROW_NOTIFY_VECTORS,jr as TABS_REVEALED_VECTORS,Mr as TAB_CLOSE_VISIBLE_VECTORS,Nr as TAB_DESCENDANT_VECTORS,Pr as TAB_ICON_STATE_VECTORS,nr as TAB_PAGES_ITEMS_CHANGED_VECTORS,Fr as TAB_PAGE_DESCRIPTOR_VECTORS,Ir as TAB_SEARCH_VECTORS,Lr as TAB_SUCCESSOR_VECTORS,Rr as TAB_TOOLTIP_VECTORS,zr as TAB_VIEW_VECTORS,Hn as TAGS_CONFLICT_VECTORS,dn as TOGGLE_ACTIVE_NAME_VECTORS,Fe as TOOLBAR_VIEW_ALLOCATE_VECTORS,Ie as TOOLBAR_VIEW_CLASS_VECTORS,Le as TOOLBAR_VIEW_CONTENT_FOR_SIZE_VECTORS,Re as TOOLBAR_VIEW_MEASURE_VECTORS,g as TRANSLATOR_CREDITS_VECTORS,cr as TREE_EXPANDER_LAYOUT_VECTORS,lr as TREE_EXPANDER_SHORTCUT_VECTORS,at as UnsupportedConstructError,Ai as VALUE_LIST_VECTORS,fn as VIEW_STACK_ICON_NAME_VECTORS,pn as VIEW_STACK_PAGE_VECTORS,mn as VIEW_STACK_VECTORS,yr as VIEW_SWITCHER_BADGE_VECTORS,br as VIEW_SWITCHER_BAR_REVEAL_VECTORS,xr as VIEW_SWITCHER_BAR_VECTORS,Sr as VIEW_SWITCHER_BUTTON_VECTORS,Cr as VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS,wr as VIEW_SWITCHER_DRAG_VECTORS,Tr as VIEW_SWITCHER_ICON_VECTORS,Er as VIEW_SWITCHER_MNEMONIC_VECTORS,Dr as VIEW_SWITCHER_REBUILD_VECTORS,Or as VIEW_SWITCHER_SELECTION_VECTORS,kr as VIEW_SWITCHER_SIDEBAR_SECTION_VECTORS,Ki as WIDGET_MAP_ROWS,qi as WIDGET_MAP_VECTORS,Ui as WINDOW_ROWS,w as WINDOW_TITLE_VECTORS,Wi as WINDOW_VECTORS,yi as WRAP_BOX_CHILD_ORDER_VECTORS,bi as WRAP_BOX_LENGTH_VECTORS,xi as WRAP_BOX_LINE_VECTORS,Si as WRAP_BOX_NATURAL_LENGTH_VECTORS,Ci as WRAP_BOX_NOTIFY_PROPERTIES,wi as WRAP_BOX_POLICY_VECTORS,Ti as WRAP_BOX_SPACING_NOTIFY_VECTORS,Ei as WRAP_BOX_SPACING_VECTORS,rr as applyListReadback,Br as applyTabViewOp,ot as assertTreeConstructs,Je as authoredNodes,Ye as authoredTags,gn as collectNavigationState,st as constructUsesOf,Ar as createViewSwitcherClock,n as driveAboutDialogDoorVectors,j as driveApplicationVectors,de as driveCarouselDoorVectors,Ee as driveCheckGroupVectors,ct as driveConstructVectors,wt as driveFileChooserVectors,Rt as driveGLibPathVectors,Vt as driveGLibTimerVectors,Wt as driveGLibUriVectors,qt as driveGObjectVectors,Ot as driveGdkClipboardVectors,jt as driveGioAppInfoVectors,Pt as driveGioResourceVectors,Qt as driveGtkPlatformVectors,on as driveIconThemeResourceVectors,Pi as driveMenuActionVectors,r as driveReleaseNotesVectors,cn as driveRowAccessorVectors,Hi as driveSimpleActionGroupVectors,zi as driveStyleManagerVectors,Ji as driveWidgetMapVectors,Gi as driveWindowVectors,ri as formatShortcutLabelNodes,Ft as gioResourceFixtures,_n as navigationEventLog,Mi as popupMenuOutline,Tt as promisifyFileChooser,Xe as reachedTables,Fi as registryMenuActionScene,ir as replayTabPagesAsSplices,bt as runBottomSheetBottomBarSteps,xt as runBottomSheetSteps,vn as runNavigationSteps,Vr as seedTabViewPages,Ze as sharedTreeExpectations,Qe as sharedTreePlacements,$e as subjectIndexOf,Hr as tabViewClosing,Ur as tabViewOrder,M as unlockedVfuncNames,N as unprovenVfuncs,et as withoutPlacements};
1
+ import{ABOUT_DIALOG_DOOR_VECTORS as e,RELEASE_NOTES_VECTORS as t,driveAboutDialogDoorVectors as n,driveReleaseNotesVectors as r}from"./about-dialog-doors.js";import{ABOUT_DIALOG_CREDITS_LEGAL_VECTORS as i,ABOUT_DIALOG_DETAILS_VECTORS as a,ABOUT_DIALOG_HEADER_VECTORS as o,ABOUT_DIALOG_LABEL_VECTORS as s,ABOUT_DIALOG_SUPPORT_VECTORS as c,ACKNOWLEDGEMENT_SECTIONS_VECTORS as l,CREDITS_SECTIONS_VECTORS as u,CREDIT_PERSON_VECTORS as d,LEGAL_SECTIONS_VECTORS as f,LEGAL_SECTION_VECTORS as p,LICENSE_INFO_VECTORS as m,LICENSE_SETTER_VECTORS as h,LICENSE_SPDX_VECTORS as g,LICENSE_TEXT_VECTORS as _,TRANSLATOR_CREDITS_VECTORS as v}from"./about-dialog.js";import{ACCENT_COLOR_VECTORS as y,NEAREST_ACCENT_VECTORS as b}from"./accent.js";import{ACTION_ROW_ACTIVATION_VECTORS as x,BUTTON_ROW_ACTIVATABLE_VECTORS as S,BUTTON_ROW_ICON_VECTORS as C,LABEL_VISIBILITY_VECTORS as w,SWITCH_ROW_NOTIFY_VECTORS as T,WINDOW_TITLE_VECTORS as E}from"./action-row.js";import{ADJUSTMENT_AUTHORED_VECTORS as D,ADJUSTMENT_PARSE_VECTORS as O,ADJUSTMENT_SNAP_VECTORS as k}from"./adjustment.js";import{APPEARANCE_HANDOFF_VECTORS as A}from"./appearance.js";import{APPLICATION_ROWS as j,APPLICATION_VECTORS as M,driveApplicationVectors as N,unlockedVfuncNames as P,unprovenVfuncs as F}from"./application.js";import{AVATAR_COLOR_VECTORS as I,AVATAR_FONT_SIZE_VECTORS as L,AVATAR_ICON_SIZE_VECTORS as R,AVATAR_INITIALS_VECTORS as z,AVATAR_MODE_VECTORS as B}from"./avatar.js";import{BANNER_BUTTON_STYLE_PARSE_VECTORS as V,BANNER_BUTTON_STYLE_VECTORS as H,BANNER_BUTTON_TEXT_VECTORS as U,BANNER_BUTTON_VISIBLE_VECTORS as W,BANNER_DEFAULT_VECTORS as G}from"./banner.js";import{BOX_ALL_VECTORS as K,BOX_ROW_VECTORS as q,BOX_SELECT_VECTORS as J}from"./box-selection.js";import{BOX_ORIENTATION_VECTORS as Y,BOX_SPACING_VECTORS as X}from"./box.js";import{BREAKPOINT_PICK_VECTORS as Z,BREAKPOINT_TRANSITION_VECTORS as Q}from"./breakpoint-bin.js";import{BUTTON_CONTENT_DEFAULT_VECTORS as $,BUTTON_CONTENT_ELLIPSIZE_VECTORS as ee,BUTTON_CONTENT_ICON_VECTORS as te,BUTTON_CONTENT_LABEL_VECTORS as ne,BUTTON_CONTENT_STYLE_TARGET_VECTORS as re,BUTTON_CONTENT_TEXT_VECTORS as ie}from"./button-content.js";import{BUTTON_STYLE_CLASS_VECTORS as ae}from"./button.js";import{CALENDAR_DAYS_VECTORS as oe,CALENDAR_MARK_VECTORS as se,CALENDAR_NAVIGATION_VECTORS as ce,CALENDAR_SELECT_VECTORS as le,CALENDAR_STEP_VECTORS as ue,CALENDAR_WEEK_VECTORS as de}from"./calendar.js";import{CAROUSEL_DOOR_VECTORS as fe,driveCarouselDoorVectors as pe}from"./carousel-doors.js";import{CAROUSEL_CLAMP_VECTORS as me,CAROUSEL_NAVIGATE_VECTORS as he,CAROUSEL_PAGE_ALLOCATION_VECTORS as ge,CAROUSEL_PAGE_AT_POSITION_VECTORS as _e,CAROUSEL_PAGE_LIST_VECTORS as ve,CAROUSEL_PROPERTY_DEFAULT_VECTORS as ye,CAROUSEL_RANGE_VECTORS as be,CAROUSEL_REORDER_SHIFT_VECTORS as xe,CAROUSEL_REVEAL_VECTORS as Se,CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS as Ce,CAROUSEL_SNAP_POINT_VECTORS as we,CAROUSEL_WHEEL_LOCKOUT_VECTORS as Te,CAROUSEL_WHEEL_VECTORS as Ee}from"./carousel.js";import{CHECK_GROUP_VECTORS as De,driveCheckGroupVectors as Oe}from"./check-group.js";import{RADIO_GROUP_VECTORS as ke}from"./checks.js";import{CLAMP_ALLOCATE_VECTORS as Ae,CLAMP_CHILD_SIZE_VECTORS as je,CLAMP_PROPERTY_VECTORS as Me,CLAMP_SIZE_FROM_CHILD_VECTORS as Ne,CLAMP_THRESHOLD_VECTORS as Pe,SPINNER_GEOMETRY_VECTORS as Fe,SPINNER_SIZE_VECTORS as Ie,TOOLBAR_VIEW_ALLOCATE_VECTORS as Le,TOOLBAR_VIEW_CLASS_VECTORS as Re,TOOLBAR_VIEW_CONTENT_FOR_SIZE_VECTORS as ze,TOOLBAR_VIEW_MEASURE_VECTORS as Be}from"./chrome.js";import{ENTRY_MAX_LENGTH_VECTORS as Ve,ENTRY_ROW_ACTIVATION_VECTORS as He,ENTRY_ROW_GUARD_VECTORS as Ue,ENTRY_ROW_STATE_VECTORS as We,ENTRY_TEXT_LENGTH_VECTORS as Ge,PASSWORD_ENTRY_ROW_VECTORS as Ke,PASSWORD_REVEAL_GUARD_VECTORS as qe}from"./entry-row.js";import{SHARED_TREE_BLOCKS_WITHOUT_EXPECTATIONS as Je,SHARED_TREE_TABLES as Ye,authoredNodes as Xe,authoredTags as Ze,reachedTables as Qe,sharedTreeExpectations as $e,sharedTreePlacements as et,subjectIndexOf as tt,withoutPlacements as nt}from"./shared-trees.js";import{BREAKPOINT_VECTOR_SIZES as rt,CONSTRUCT_KINDS as it,CONSTRUCT_VECTORS as at,EXTERN_VECTOR_CLASS as ot,UnsupportedConstructError as st,assertTreeConstructs as ct,constructUsesOf as lt,driveConstructVectors as ut}from"./constructs.js";import{DATA_GRID_CELL_TEXT_VECTORS as dt,DATA_GRID_COLUMN_CLASS_VECTORS as ft,DATA_GRID_COLUMN_NORMALIZE_VECTORS as pt,DATA_GRID_INTERACTIVE_VECTORS as mt,DATA_GRID_TRACK_VECTORS as ht,DATA_GRID_VARIANT_VECTORS as gt}from"./data-grid.js";import{BOTTOM_SHEET_BOTTOM_BAR_VECTORS as _t,BOTTOM_SHEET_CLOSE_VECTORS as vt,BOTTOM_SHEET_OPEN_VECTORS as yt,BOTTOM_SHEET_PRESENTATION_VECTORS as bt,BOTTOM_SHEET_SWIPE_TRACKER_VECTORS as xt,runBottomSheetBottomBarSteps as St,runBottomSheetSteps as Ct}from"./dialog.js";import{FILE_CHOOSER_ROWS as wt,FILE_CHOOSER_VECTORS as Tt,driveFileChooserVectors as Et,promisifyFileChooser as Dt}from"./file-chooser.js";import{GDK_CLIPBOARD_ROWS as Ot,GDK_CLIPBOARD_VECTORS as kt,driveGdkClipboardVectors as At}from"./gdk-clipboard.js";import{GIO_APP_INFO_ROWS as jt,GIO_APP_INFO_VECTORS as Mt,driveGioAppInfoVectors as Nt}from"./gio-app-info.js";import{GIO_RESOURCE_ROWS as Pt,GIO_RESOURCE_VECTORS as Ft,driveGioResourceVectors as It,gioResourceFixtures as Lt}from"./gio-resource.js";import{GLIB_LANGUAGE_ROWS as Rt,GLIB_LANGUAGE_TAG_ROWS as zt,GLIB_LANGUAGE_TAG_VECTORS as Bt,GLIB_LANGUAGE_VECTORS as Vt,driveGLibLanguageTagVectors as Ht,driveGLibLanguageVectors as Ut}from"./glib-language.js";import{GLIB_PATH_ROWS as Wt,GLIB_PATH_VECTORS as Gt,driveGLibPathVectors as Kt}from"./glib-paths.js";import{GLIB_TIMER_ROWS as qt,GLIB_TIMER_VECTORS as Jt,driveGLibTimerVectors as Yt}from"./glib-timers.js";import{GLIB_UNICHAR_ROWS as Xt,GLIB_UNICHAR_VECTORS as Zt,driveGLibUnicharVectors as Qt}from"./glib-unichar.js";import{GLIB_URI_ROWS as $t,GLIB_URI_VECTORS as en,driveGLibUriVectors as tn}from"./glib-uri.js";import{GLIB_VARIANT_ROWS as nn,GLIB_VARIANT_VECTORS as rn,driveGLibVariantVectors as an}from"./glib-variant.js";import{GOBJECT_ROWS as on,GOBJECT_VECTORS as sn,driveGObjectVectors as cn}from"./gobject.js";import{GRID_NAVIGATION_GEOMETRY as ln,GRID_NAVIGATION_VECTORS as un}from"./grid-navigation.js";import{GTK_PLATFORM_ROWS as dn,GTK_PLATFORM_VECTORS as fn,driveGtkPlatformVectors as pn}from"./gtk-platform.js";import{HEADER_BAR_PACK_VECTORS as mn,HEADER_BAR_TITLE_SOURCE_VECTORS as hn,HEADER_BAR_TITLE_WIDGET_VECTORS as gn}from"./header-bar.js";import{ICON_FIXTURE_PATH as _n,ICON_THEME_RESOURCE_ROWS as vn,ICON_THEME_RESOURCE_VECTORS as yn,driveIconThemeResourceVectors as bn}from"./icon-theme-resources.js";import{ROW_ACCESSOR_VECTORS as xn,driveRowAccessorVectors as Sn}from"./row-accessors.js";import{COMBO_CHOOSER_VECTORS as Cn,COMBO_SELECTION_VECTORS as wn,TOGGLE_ACTIVE_NAME_VECTORS as Tn}from"./rows.js";import{VIEW_STACK_ICON_NAME_VECTORS as En,VIEW_STACK_PAGE_VECTORS as Dn,VIEW_STACK_VECTORS as On}from"./view-stack.js";import{NAVIGATION_VIEW_VECTORS as kn,collectNavigationState as An,navigationEventLog as jn,runNavigationSteps as Mn}from"./navigation-view.js";import{SIDEBAR_ACTIVATION_VECTORS as Nn,SIDEBAR_CLAMP_VECTORS as Pn,SIDEBAR_FILTER_VECTORS as Fn,SIDEBAR_ITEMS_CHANGED_VECTORS as In,SIDEBAR_ITEM_FLAG_VECTORS as Ln,SIDEBAR_MODEL_VECTORS as Rn,SIDEBAR_MODE_VECTORS as zn}from"./sidebar.js";import{ADW_LENGTH_UNIT_VECTORS as Bn,GLIB_CLAMP_VECTORS as Vn,NATURAL_SIDEBAR_WIDTH_VECTORS as Hn,NAVIGATION_ACTION_VECTORS as Un,NAVIGATION_SPLIT_VIEW_LAYOUT_VECTORS as Wn,NAVIGATION_STACK_VECTORS as Gn,OVERLAY_COLLAPSE_VECTORS as Kn,OVERLAY_SPLIT_VIEW_LAYOUT_VECTORS as qn,OVERLAY_SWIPE_AREA_VECTORS as Jn,OVERLAY_SWIPE_CANCEL_VECTORS as Yn,OVERLAY_SWIPE_RELEASE_VECTORS as Xn,OVERLAY_SWIPE_SNAP_POINT_VECTORS as Zn,OVERLAY_SWIPE_START_VECTORS as Qn,SIDEBAR_BOUNDS_VECTORS as $n,SIDEBAR_WIDTH_VECTORS as er,SPLIT_VIEW_MEASURE_VECTORS as tr,TAGS_CONFLICT_VECTORS as nr}from"./split-view.js";import{MENU_BUTTON_DIRECTION_VECTORS as rr,SPLIT_BUTTON_CONTENT_VECTORS as ir,SPLIT_BUTTON_DIRECTION_VECTORS as ar,SPLIT_BUTTON_DROPDOWN_VECTORS as or,SPLIT_BUTTON_MENU_ACTIVATION_VECTORS as sr,SPLIT_BUTTON_ROOT_STATE_VECTORS as cr,SPLIT_BUTTON_STYLE_CLASS_VECTORS as lr,SPLIT_BUTTON_TOOLTIP_VECTORS as ur}from"./split-button.js";import{LIST_ITEMS_CHANGED_VECTORS as dr,LIST_MODEL_OWNERSHIP_VECTORS as fr,LIST_NORMALIZE_VECTORS as pr,LIST_PARSE_VECTORS as mr,LIST_SELECTION_CLAMP_VECTORS as hr,TAB_PAGES_ITEMS_CHANGED_VECTORS as gr,applyListReadback as _r,replayTabPagesAsSplices as vr}from"./list.js";import{COLUMN_VIEW_SORT_VECTORS as yr,GRID_VIEW_COLUMN_VECTORS as br,LIST_VIEW_SELECT_VECTORS as xr}from"./list-view.js";import{TREE_EXPANDER_LAYOUT_VECTORS as Sr,TREE_EXPANDER_SHORTCUT_VECTORS as Cr}from"./tree-expander.js";import{MENU_DETAILED_ACTION_VECTORS as wr,MENU_FLATTEN_VECTORS as Tr,MENU_ITEM_STATE_VECTORS as Er,MENU_LABEL_TEXT_VECTORS as Dr,MENU_NORMALIZE_VECTORS as Or,MENU_PARSE_VECTORS as kr,MENU_REFUSAL_VECTORS as Ar}from"./menu.js";import{INLINE_TOGGLE_VECTORS as jr,INLINE_TOOLTIP_VECTORS as Mr,VIEW_SWITCHER_BADGE_VECTORS as Nr,VIEW_SWITCHER_BAR_REVEAL_VECTORS as Pr,VIEW_SWITCHER_BAR_VECTORS as Fr,VIEW_SWITCHER_BUTTON_VECTORS as Ir,VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS as Lr,VIEW_SWITCHER_DRAG_VECTORS as Rr,VIEW_SWITCHER_ICON_VECTORS as zr,VIEW_SWITCHER_MNEMONIC_VECTORS as Br,VIEW_SWITCHER_REBUILD_VECTORS as Vr,VIEW_SWITCHER_SELECTION_VECTORS as Hr,VIEW_SWITCHER_SIDEBAR_SECTION_VECTORS as Ur,createViewSwitcherClock as Wr}from"./view-switcher.js";import{TABS_REVEALED_VECTORS as Gr,TAB_CLOSE_VISIBLE_VECTORS as Kr,TAB_DESCENDANT_VECTORS as qr,TAB_ICON_STATE_VECTORS as Jr,TAB_PAGE_DESCRIPTOR_VECTORS as Yr,TAB_SEARCH_VECTORS as Xr,TAB_SUCCESSOR_VECTORS as Zr,TAB_TOOLTIP_VECTORS as Qr,TAB_VIEW_VECTORS as $r,applyTabViewOp as ei,seedTabViewPages as ti,tabViewClosing as ni,tabViewOrder as ri}from"./tab-view.js";import{CASE_FOLD_VECTORS as ii,MAKE_COMPARABLE_VECTORS as ai,PREFERENCES_GROUP_HEADER_VECTORS as oi,PREFERENCES_SEARCH_PAGES as si,PREFERENCES_SEARCH_VECTORS as ci,ROW_MATCH_VECTORS as li,SEARCH_CORPUS_VECTORS as ui,SEARCH_ROW_SUBTITLE_VECTORS as di,STRIP_MARKUP_VECTORS as fi,STRIP_MNEMONIC_VECTORS as pi}from"./preferences.js";import{POPOVER_KEY_VECTORS as mi,POPOVER_SURFACE_VECTORS as hi}from"./popover.js";import{SHORTCUT_LABEL_VECTORS as gi,formatShortcutLabelNodes as _i}from"./shortcut-label.js";import{SPINNER_ARC_ENVELOPE as vi,SPINNER_ARC_PHASE_VECTORS as yi,SPINNER_ARC_TOLERANCE as bi,SPINNER_CONSTANT_VECTORS as xi}from"./spinner.js";import{LABEL_CHAR_COUNT_VECTORS as Si,LABEL_DISPLAY_TEXT_VECTORS as Ci,LABEL_EFFECTIVE_LINES_VECTORS as wi,LABEL_ELLIPSIZE_OVERFLOW_VECTORS as Ti,LABEL_ELLIPSIZE_VECTORS as Ei,LABEL_JUSTIFY_VECTORS as Di,LABEL_WIDTH_CHARS_EXTENT_VECTORS as Oi,LABEL_WRAP_MODE_VECTORS as ki,LABEL_XALIGN_VECTORS as Ai,LABEL_YALIGN_ALIGN_ITEMS_VECTORS as ji,LABEL_YALIGN_VECTORS as Mi}from"./label.js";import{WRAP_BOX_CHILD_ORDER_VECTORS as Ni,WRAP_BOX_LENGTH_VECTORS as Pi,WRAP_BOX_LINE_VECTORS as Fi,WRAP_BOX_NATURAL_LENGTH_VECTORS as Ii,WRAP_BOX_NOTIFY_PROPERTIES as Li,WRAP_BOX_POLICY_VECTORS as Ri,WRAP_BOX_SPACING_NOTIFY_VECTORS as zi,WRAP_BOX_SPACING_VECTORS as Bi}from"./wrap-box.js";import{ATTRIBUTE_OF_VECTORS as Vi,HOST_TAG_VECTORS as Hi,PROPERTY_OF_VECTORS as Ui}from"./tags.js";import{VALUE_LIST_VECTORS as Wi}from"./value-lists.js";import{POPUP_MENU_PLAN_VECTORS as Gi,popupMenuOutline as Ki}from"./popup-menu-plan.js";import{MENU_ACTION_VECTORS as qi,driveMenuActionVectors as Ji,registryMenuActionScene as Yi}from"./menu-actions.js";import{MENU_TREE_VECTORS as Xi}from"./menu-tree.js";import{STYLE_MANAGER_ROWS as Zi,STYLE_MANAGER_VECTORS as Qi,driveStyleManagerVectors as $i}from"./style-manager.js";import{SIMPLE_ACTION_GROUP_ROWS as ea,SIMPLE_ACTION_GROUP_VECTORS as ta,driveSimpleActionGroupVectors as na}from"./simple-action-group.js";import{WINDOW_ROWS as ra,WINDOW_VECTORS as ia,driveWindowVectors as aa}from"./window-members.js";import{WIDGET_MAP_ROWS as oa,WIDGET_MAP_VECTORS as sa,driveWidgetMapVectors as ca}from"./widget-map.js";export{i as ABOUT_DIALOG_CREDITS_LEGAL_VECTORS,a as ABOUT_DIALOG_DETAILS_VECTORS,e as ABOUT_DIALOG_DOOR_VECTORS,o as ABOUT_DIALOG_HEADER_VECTORS,s as ABOUT_DIALOG_LABEL_VECTORS,c as ABOUT_DIALOG_SUPPORT_VECTORS,y as ACCENT_COLOR_VECTORS,l as ACKNOWLEDGEMENT_SECTIONS_VECTORS,x as ACTION_ROW_ACTIVATION_VECTORS,D as ADJUSTMENT_AUTHORED_VECTORS,O as ADJUSTMENT_PARSE_VECTORS,k as ADJUSTMENT_SNAP_VECTORS,Bn as ADW_LENGTH_UNIT_VECTORS,A as APPEARANCE_HANDOFF_VECTORS,j as APPLICATION_ROWS,M as APPLICATION_VECTORS,Vi as ATTRIBUTE_OF_VECTORS,I as AVATAR_COLOR_VECTORS,L as AVATAR_FONT_SIZE_VECTORS,R as AVATAR_ICON_SIZE_VECTORS,z as AVATAR_INITIALS_VECTORS,B as AVATAR_MODE_VECTORS,V as BANNER_BUTTON_STYLE_PARSE_VECTORS,H as BANNER_BUTTON_STYLE_VECTORS,U as BANNER_BUTTON_TEXT_VECTORS,W as BANNER_BUTTON_VISIBLE_VECTORS,G as BANNER_DEFAULT_VECTORS,_t as BOTTOM_SHEET_BOTTOM_BAR_VECTORS,vt as BOTTOM_SHEET_CLOSE_VECTORS,yt as BOTTOM_SHEET_OPEN_VECTORS,bt as BOTTOM_SHEET_PRESENTATION_VECTORS,xt as BOTTOM_SHEET_SWIPE_TRACKER_VECTORS,K as BOX_ALL_VECTORS,Y as BOX_ORIENTATION_VECTORS,q as BOX_ROW_VECTORS,J as BOX_SELECT_VECTORS,X as BOX_SPACING_VECTORS,Z as BREAKPOINT_PICK_VECTORS,Q as BREAKPOINT_TRANSITION_VECTORS,rt as BREAKPOINT_VECTOR_SIZES,$ as BUTTON_CONTENT_DEFAULT_VECTORS,ee as BUTTON_CONTENT_ELLIPSIZE_VECTORS,te as BUTTON_CONTENT_ICON_VECTORS,ne as BUTTON_CONTENT_LABEL_VECTORS,re as BUTTON_CONTENT_STYLE_TARGET_VECTORS,ie as BUTTON_CONTENT_TEXT_VECTORS,S as BUTTON_ROW_ACTIVATABLE_VECTORS,C as BUTTON_ROW_ICON_VECTORS,ae as BUTTON_STYLE_CLASS_VECTORS,oe as CALENDAR_DAYS_VECTORS,se as CALENDAR_MARK_VECTORS,ce as CALENDAR_NAVIGATION_VECTORS,le as CALENDAR_SELECT_VECTORS,ue as CALENDAR_STEP_VECTORS,de as CALENDAR_WEEK_VECTORS,me as CAROUSEL_CLAMP_VECTORS,fe as CAROUSEL_DOOR_VECTORS,he as CAROUSEL_NAVIGATE_VECTORS,ge as CAROUSEL_PAGE_ALLOCATION_VECTORS,_e as CAROUSEL_PAGE_AT_POSITION_VECTORS,ve as CAROUSEL_PAGE_LIST_VECTORS,ye as CAROUSEL_PROPERTY_DEFAULT_VECTORS,be as CAROUSEL_RANGE_VECTORS,xe as CAROUSEL_REORDER_SHIFT_VECTORS,Se as CAROUSEL_REVEAL_VECTORS,Ce as CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS,we as CAROUSEL_SNAP_POINT_VECTORS,Te as CAROUSEL_WHEEL_LOCKOUT_VECTORS,Ee as CAROUSEL_WHEEL_VECTORS,ii as CASE_FOLD_VECTORS,De as CHECK_GROUP_VECTORS,Ae as CLAMP_ALLOCATE_VECTORS,je as CLAMP_CHILD_SIZE_VECTORS,Me as CLAMP_PROPERTY_VECTORS,Ne as CLAMP_SIZE_FROM_CHILD_VECTORS,Pe as CLAMP_THRESHOLD_VECTORS,yr as COLUMN_VIEW_SORT_VECTORS,Cn as COMBO_CHOOSER_VECTORS,wn as COMBO_SELECTION_VECTORS,it as CONSTRUCT_KINDS,at as CONSTRUCT_VECTORS,u as CREDITS_SECTIONS_VECTORS,d as CREDIT_PERSON_VECTORS,dt as DATA_GRID_CELL_TEXT_VECTORS,ft as DATA_GRID_COLUMN_CLASS_VECTORS,pt as DATA_GRID_COLUMN_NORMALIZE_VECTORS,mt as DATA_GRID_INTERACTIVE_VECTORS,ht as DATA_GRID_TRACK_VECTORS,gt as DATA_GRID_VARIANT_VECTORS,Ve as ENTRY_MAX_LENGTH_VECTORS,He as ENTRY_ROW_ACTIVATION_VECTORS,Ue as ENTRY_ROW_GUARD_VECTORS,We as ENTRY_ROW_STATE_VECTORS,Ge as ENTRY_TEXT_LENGTH_VECTORS,ot as EXTERN_VECTOR_CLASS,wt as FILE_CHOOSER_ROWS,Tt as FILE_CHOOSER_VECTORS,Ot as GDK_CLIPBOARD_ROWS,kt as GDK_CLIPBOARD_VECTORS,jt as GIO_APP_INFO_ROWS,Mt as GIO_APP_INFO_VECTORS,Pt as GIO_RESOURCE_ROWS,Ft as GIO_RESOURCE_VECTORS,Vn as GLIB_CLAMP_VECTORS,Rt as GLIB_LANGUAGE_ROWS,zt as GLIB_LANGUAGE_TAG_ROWS,Bt as GLIB_LANGUAGE_TAG_VECTORS,Vt as GLIB_LANGUAGE_VECTORS,Wt as GLIB_PATH_ROWS,Gt as GLIB_PATH_VECTORS,qt as GLIB_TIMER_ROWS,Jt as GLIB_TIMER_VECTORS,Xt as GLIB_UNICHAR_ROWS,Zt as GLIB_UNICHAR_VECTORS,$t as GLIB_URI_ROWS,en as GLIB_URI_VECTORS,nn as GLIB_VARIANT_ROWS,rn as GLIB_VARIANT_VECTORS,on as GOBJECT_ROWS,sn as GOBJECT_VECTORS,ln as GRID_NAVIGATION_GEOMETRY,un as GRID_NAVIGATION_VECTORS,br as GRID_VIEW_COLUMN_VECTORS,dn as GTK_PLATFORM_ROWS,fn as GTK_PLATFORM_VECTORS,mn as HEADER_BAR_PACK_VECTORS,hn as HEADER_BAR_TITLE_SOURCE_VECTORS,gn as HEADER_BAR_TITLE_WIDGET_VECTORS,Hi as HOST_TAG_VECTORS,_n as ICON_FIXTURE_PATH,vn as ICON_THEME_RESOURCE_ROWS,yn as ICON_THEME_RESOURCE_VECTORS,jr as INLINE_TOGGLE_VECTORS,Mr as INLINE_TOOLTIP_VECTORS,Si as LABEL_CHAR_COUNT_VECTORS,Ci as LABEL_DISPLAY_TEXT_VECTORS,wi as LABEL_EFFECTIVE_LINES_VECTORS,Ti as LABEL_ELLIPSIZE_OVERFLOW_VECTORS,Ei as LABEL_ELLIPSIZE_VECTORS,Di as LABEL_JUSTIFY_VECTORS,w as LABEL_VISIBILITY_VECTORS,Oi as LABEL_WIDTH_CHARS_EXTENT_VECTORS,ki as LABEL_WRAP_MODE_VECTORS,Ai as LABEL_XALIGN_VECTORS,ji as LABEL_YALIGN_ALIGN_ITEMS_VECTORS,Mi as LABEL_YALIGN_VECTORS,f as LEGAL_SECTIONS_VECTORS,p as LEGAL_SECTION_VECTORS,m as LICENSE_INFO_VECTORS,h as LICENSE_SETTER_VECTORS,g as LICENSE_SPDX_VECTORS,_ as LICENSE_TEXT_VECTORS,dr as LIST_ITEMS_CHANGED_VECTORS,fr as LIST_MODEL_OWNERSHIP_VECTORS,pr as LIST_NORMALIZE_VECTORS,mr as LIST_PARSE_VECTORS,hr as LIST_SELECTION_CLAMP_VECTORS,xr as LIST_VIEW_SELECT_VECTORS,ai as MAKE_COMPARABLE_VECTORS,qi as MENU_ACTION_VECTORS,rr as MENU_BUTTON_DIRECTION_VECTORS,wr as MENU_DETAILED_ACTION_VECTORS,Tr as MENU_FLATTEN_VECTORS,Er as MENU_ITEM_STATE_VECTORS,Dr as MENU_LABEL_TEXT_VECTORS,Or as MENU_NORMALIZE_VECTORS,kr as MENU_PARSE_VECTORS,Ar as MENU_REFUSAL_VECTORS,Xi as MENU_TREE_VECTORS,Hn as NATURAL_SIDEBAR_WIDTH_VECTORS,Un as NAVIGATION_ACTION_VECTORS,Wn as NAVIGATION_SPLIT_VIEW_LAYOUT_VECTORS,Gn as NAVIGATION_STACK_VECTORS,kn as NAVIGATION_VIEW_VECTORS,b as NEAREST_ACCENT_VECTORS,Kn as OVERLAY_COLLAPSE_VECTORS,qn as OVERLAY_SPLIT_VIEW_LAYOUT_VECTORS,Jn as OVERLAY_SWIPE_AREA_VECTORS,Yn as OVERLAY_SWIPE_CANCEL_VECTORS,Xn as OVERLAY_SWIPE_RELEASE_VECTORS,Zn as OVERLAY_SWIPE_SNAP_POINT_VECTORS,Qn as OVERLAY_SWIPE_START_VECTORS,Ke as PASSWORD_ENTRY_ROW_VECTORS,qe as PASSWORD_REVEAL_GUARD_VECTORS,mi as POPOVER_KEY_VECTORS,hi as POPOVER_SURFACE_VECTORS,Gi as POPUP_MENU_PLAN_VECTORS,oi as PREFERENCES_GROUP_HEADER_VECTORS,si as PREFERENCES_SEARCH_PAGES,ci as PREFERENCES_SEARCH_VECTORS,Ui as PROPERTY_OF_VECTORS,ke as RADIO_GROUP_VECTORS,t as RELEASE_NOTES_VECTORS,xn as ROW_ACCESSOR_VECTORS,li as ROW_MATCH_VECTORS,ui as SEARCH_CORPUS_VECTORS,di as SEARCH_ROW_SUBTITLE_VECTORS,Je as SHARED_TREE_BLOCKS_WITHOUT_EXPECTATIONS,Ye as SHARED_TREE_TABLES,gi as SHORTCUT_LABEL_VECTORS,Nn as SIDEBAR_ACTIVATION_VECTORS,$n as SIDEBAR_BOUNDS_VECTORS,Pn as SIDEBAR_CLAMP_VECTORS,Fn as SIDEBAR_FILTER_VECTORS,In as SIDEBAR_ITEMS_CHANGED_VECTORS,Ln as SIDEBAR_ITEM_FLAG_VECTORS,Rn as SIDEBAR_MODEL_VECTORS,zn as SIDEBAR_MODE_VECTORS,er as SIDEBAR_WIDTH_VECTORS,ea as SIMPLE_ACTION_GROUP_ROWS,ta as SIMPLE_ACTION_GROUP_VECTORS,vi as SPINNER_ARC_ENVELOPE,yi as SPINNER_ARC_PHASE_VECTORS,bi as SPINNER_ARC_TOLERANCE,xi as SPINNER_CONSTANT_VECTORS,Fe as SPINNER_GEOMETRY_VECTORS,Ie as SPINNER_SIZE_VECTORS,ir as SPLIT_BUTTON_CONTENT_VECTORS,ar as SPLIT_BUTTON_DIRECTION_VECTORS,or as SPLIT_BUTTON_DROPDOWN_VECTORS,sr as SPLIT_BUTTON_MENU_ACTIVATION_VECTORS,cr as SPLIT_BUTTON_ROOT_STATE_VECTORS,lr as SPLIT_BUTTON_STYLE_CLASS_VECTORS,ur as SPLIT_BUTTON_TOOLTIP_VECTORS,tr as SPLIT_VIEW_MEASURE_VECTORS,fi as STRIP_MARKUP_VECTORS,pi as STRIP_MNEMONIC_VECTORS,Zi as STYLE_MANAGER_ROWS,Qi as STYLE_MANAGER_VECTORS,T as SWITCH_ROW_NOTIFY_VECTORS,Gr as TABS_REVEALED_VECTORS,Kr as TAB_CLOSE_VISIBLE_VECTORS,qr as TAB_DESCENDANT_VECTORS,Jr as TAB_ICON_STATE_VECTORS,gr as TAB_PAGES_ITEMS_CHANGED_VECTORS,Yr as TAB_PAGE_DESCRIPTOR_VECTORS,Xr as TAB_SEARCH_VECTORS,Zr as TAB_SUCCESSOR_VECTORS,Qr as TAB_TOOLTIP_VECTORS,$r as TAB_VIEW_VECTORS,nr as TAGS_CONFLICT_VECTORS,Tn as TOGGLE_ACTIVE_NAME_VECTORS,Le as TOOLBAR_VIEW_ALLOCATE_VECTORS,Re as TOOLBAR_VIEW_CLASS_VECTORS,ze as TOOLBAR_VIEW_CONTENT_FOR_SIZE_VECTORS,Be as TOOLBAR_VIEW_MEASURE_VECTORS,v as TRANSLATOR_CREDITS_VECTORS,Sr as TREE_EXPANDER_LAYOUT_VECTORS,Cr as TREE_EXPANDER_SHORTCUT_VECTORS,st as UnsupportedConstructError,Wi as VALUE_LIST_VECTORS,En as VIEW_STACK_ICON_NAME_VECTORS,Dn as VIEW_STACK_PAGE_VECTORS,On as VIEW_STACK_VECTORS,Nr as VIEW_SWITCHER_BADGE_VECTORS,Pr as VIEW_SWITCHER_BAR_REVEAL_VECTORS,Fr as VIEW_SWITCHER_BAR_VECTORS,Ir as VIEW_SWITCHER_BUTTON_VECTORS,Lr as VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS,Rr as VIEW_SWITCHER_DRAG_VECTORS,zr as VIEW_SWITCHER_ICON_VECTORS,Br as VIEW_SWITCHER_MNEMONIC_VECTORS,Vr as VIEW_SWITCHER_REBUILD_VECTORS,Hr as VIEW_SWITCHER_SELECTION_VECTORS,Ur as VIEW_SWITCHER_SIDEBAR_SECTION_VECTORS,oa as WIDGET_MAP_ROWS,sa as WIDGET_MAP_VECTORS,ra as WINDOW_ROWS,E as WINDOW_TITLE_VECTORS,ia as WINDOW_VECTORS,Ni as WRAP_BOX_CHILD_ORDER_VECTORS,Pi as WRAP_BOX_LENGTH_VECTORS,Fi as WRAP_BOX_LINE_VECTORS,Ii as WRAP_BOX_NATURAL_LENGTH_VECTORS,Li as WRAP_BOX_NOTIFY_PROPERTIES,Ri as WRAP_BOX_POLICY_VECTORS,zi as WRAP_BOX_SPACING_NOTIFY_VECTORS,Bi as WRAP_BOX_SPACING_VECTORS,_r as applyListReadback,ei as applyTabViewOp,ct as assertTreeConstructs,Xe as authoredNodes,Ze as authoredTags,An as collectNavigationState,lt as constructUsesOf,Wr as createViewSwitcherClock,n as driveAboutDialogDoorVectors,N as driveApplicationVectors,pe as driveCarouselDoorVectors,Oe as driveCheckGroupVectors,ut as driveConstructVectors,Et as driveFileChooserVectors,Ht as driveGLibLanguageTagVectors,Ut as driveGLibLanguageVectors,Kt as driveGLibPathVectors,Yt as driveGLibTimerVectors,Qt as driveGLibUnicharVectors,tn as driveGLibUriVectors,an as driveGLibVariantVectors,cn as driveGObjectVectors,At as driveGdkClipboardVectors,Nt as driveGioAppInfoVectors,It as driveGioResourceVectors,pn as driveGtkPlatformVectors,bn as driveIconThemeResourceVectors,Ji as driveMenuActionVectors,r as driveReleaseNotesVectors,Sn as driveRowAccessorVectors,na as driveSimpleActionGroupVectors,$i as driveStyleManagerVectors,ca as driveWidgetMapVectors,aa as driveWindowVectors,_i as formatShortcutLabelNodes,Lt as gioResourceFixtures,jn as navigationEventLog,Ki as popupMenuOutline,Dt as promisifyFileChooser,Qe as reachedTables,Yi as registryMenuActionScene,vr as replayTabPagesAsSplices,St as runBottomSheetBottomBarSteps,Ct as runBottomSheetSteps,Mn as runNavigationSteps,ti as seedTabViewPages,$e as sharedTreeExpectations,et as sharedTreePlacements,tt as subjectIndexOf,ni as tabViewClosing,ri as tabViewOrder,P as unlockedVfuncNames,F as unprovenVfuncs,nt as withoutPlacements};
@@ -0,0 +1 @@
1
+ import"./_virtual/_rolldown/runtime.js";function isAsciiLetters(e,t,n){if(e.length<t||e.length>n)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t)|32;if(n<97||n>122)return!1}return!0}function localeVariants(e){let t=e.indexOf(`_`),n=e.indexOf(`.`,t>=0?t:0),r=e.indexOf(`@`,n>=0?n:t>=0?t:0),i=0,a=``,o=``,s=``;r>=0?(i|=4,a=e.slice(r)):r=e.length,n>=0&&n<r?(i|=1,o=e.slice(n,r)):n=r;let c=t;t>=0&&t<n?(i|=2,s=e.slice(t,n)):c=n;let l=e.slice(0,c),u=[];for(let e=i;e>=0;e--)(e&~i)===0&&u.push(l+(e&2?s:``)+(e&1?o:``)+(e&4?a:``));return u}function computeLanguageNames(e){let t=[];for(let n of e)for(let e of n.split(`:`))if(e!==``)for(let n of localeVariants(e))t.push(n);return t.push(`C`),t}function localeFromLanguageTag(e){let t=e.split(/[.@]/)[0].split(/[-_]/),n=t[0];if(!isAsciiLetters(n,2,3)||n.toLowerCase()===`und`)return null;let r=n.toLowerCase();for(let e=1;e<t.length;e++){let n=t[e];if(!isAsciiLetters(n,4,4)){if(isAsciiLetters(n,2,2))return`${r}_${n.toUpperCase()}`;break}}return r}function languageNamesFromTags(e){let t=[];for(let n of e){let e=typeof n==`string`?localeFromLanguageTag(n):null;e!==null&&t.push(e)}let n=new Set,r=[];for(let e of computeLanguageNames(t))e===`C`||n.has(e)||(n.add(e),r.push(e));return r.push(`C`),r}export{computeLanguageNames,languageNamesFromTags,localeFromLanguageTag};
@@ -0,0 +1 @@
1
+ const e=`17.0.0`,t=`1t,p,6,p,1b,0,a,0,4,0,5,m,1,u,1,cp,4,b,e,4,7,0,1,0,3l,4,1,1,2,3,1,0,6,0,1,2,1,0,1,j,1,2a,1,3u,8,4l,.1,11,2,0,6,14,1z,q,4,3,19,16,z,1,1,2q,1,0,f,1,7,1,a,2,2,0,g,0,1,t,t,2g,b,0,o,w,9,1,4,0,5,l,4,0,9,0,.3,0,n,o,7,a,5,n,1,6,g,15,1m,1h,3,0,i,0,7,9,f,f,4,7,2,1,2,l,1,6,1,0,3,3,3,0,g,0,d,1,1,2,e,1,a,0,8,5,.4,1,2,l,1,6,1,1,1,1,1,1,v,3,1,0,j,2,g,8,1,2,1,l,1,6,1,1,1,4,3,0,i,0,f,1,n,0,b,7,2,1,2,l,1,6,1,1,1,4,.3,0,u,1,1,2,f,0,h,0,1,5,3,2,1,3,3,1,1,0,1,1,3,1,3,2,3,b,m,0,1g,7,1,2,1,m,1,f,3,0,q,2,1,1,2,1,u,0,4,7,.1,2,1,m,1,9,1,4,3,0,u,2,1,1,f,1,h,8,1,2,1,14,2,0,g,0,5,2,8,2,o,5,5,h,3,n,1,8,1,0,2,6,1m,1b,1,1,c,6,.1m,1,1,0,1,4,1,n,1,0,1,9,1,1,9,0,2,4,1,0,l,3,w,0,1r,7,1,z,r,4,37,16,k,0,g,5,4,3,3,0,3,1,7,2,4,c,c,0,.h,11,1,0,5,0,2,16,1,98,1,3,2,6,1,0,1,3,2,14,1,3,2,w,1,3,2,6,1,0,1,3,2,e,1,1k,1,3,2,1u,11,f,g,2d,2,5,.3,h7,2,g,1,p,5,22,6,7,7,h,d,i,e,h,e,c,1,2,f,1f,z,0,4,0,1v,2g,7,4,2,x,1,0,5,1x,a,u,1d,t,2,4,b,17,4,p,.1i,m,9,1g,2a,0,2l,1a,h,7,1i,t,d,1,a,17,q,z,15,2,a,z,2,a,5,16,2,2,15,3,1,5,1,1,3,0,5,5b,1s,7p,2,5,.2,11,2,5,2,7,1,0,1,0,1,0,1,u,2,1g,1,6,1,0,3,2,1,6,3,3,2,5,4,c,5,2,1,6,38,0,d,0,g,c,2t,0,4,0,2,9,1,0,.3,4,6,0,1,0,1,0,1,3,1,a,2,3,5,4,4,0,1g,1,22j,6c,6,3,3,1,c,11,1,0,5,0,2,1j,7,0,g,m,9,6,1,6,1,6,1,6,.1,6,1,6,1,6,1,6,28,0,d1,1,16,4,5,1,4,2d,6,2,1,2h,1,3,5,16,1,2l,h,v,1c,f,e8,533,1s,h3g,1v,19,2,7g,3,f,.a,1,k,1a,g,u,2,1x,1d,8,2,2u,2,29,k,g,1,2,1,3,1,m,t,1f,e,1d,1q,5,3,0,1,1,b,r,a,m,p,s,7,1a,s,0,g,4,1,9,.a,4,1,14,n,2,1,7,k,m,3,0,3,1d,1,0,3,1,2,4,2,0,1,0,o,2,2,a,7,2,c,5,2,5,2,5,9,6,1,6,1,16,1,d,6,36,.t,8mb,c,m,4,1c,6is,a5,2,2x,12,6,c,4,5,0,1,9,1,c,1,4,1,0,1,1,1,1,1,2z,x,a2,i,1r,2,1h,14,b,38,4,1,3q,.10,p,6,p,b,2g,3,5,2,5,2,5,2,2,z,b,1,p,1,i,1,1,1,e,2,d,y,3e,at,s,3,1c,1b,v,d,j,1,7,6,11,a,t,2,z,4,7,.1c,4d,i,z,4,z,4,13,8,1f,c,a,1,e,1,6,1,1,1,a,1,e,1,6,1,1,3,1f,c,8m,9,l,a,7,o,5,1,15,1,8,1x,5,2,0,1,17,.1,1,3,0,2,m,a,m,9,u,1t,i,1,1,a,l,a,p,6,p,12,1j,6,1,1s,0,f,3,1,2,1,s,16,s,3,s,z,7,1,r,r,1h,a,l,a,i,.d,h,32,20,1j,1e,d,1e,d,z,12,r,9,m,6y,15,6,1,g,5,1k,s,a,0,8,l,16,h,1a,k,r,m,c,1g,1l,1,2,0,d,18,w,o,.q,z,t,0,2,0,8,y,3,0,c,1b,e,3,l,0,1,0,z,h,1,o,j,1,1r,6,1,0,1,3,1,e,1,9,7,1a,12,7,2,1,2,l,1,6,1,1,1,4,.3,0,i,0,c,4,u,9,1,0,2,0,1,11,1,0,p,0,1,0,18,1g,i,3,k,2,u,1b,k,1,1,0,54,1a,15,3,10,1b,k,0,1n,16,d,0,.1z,q,11,6,55,17,38,1r,v,7,2,0,2,7,1,1,1,n,f,0,1,0,2m,7,2,12,g,0,1,0,s,0,a,13,7,0,l,0,b,19,j,0,i,20,.5j,w,v,8,1,10,h,0,1d,t,34,6,1,1,1,11,l,0,p,5,1,1,1,v,e,0,n,17,78,i,f,0,1,c,1,x,3g,0,27,pl,6e,5f,.218,2o,f,tr,h,5,p,32y,5,g6,5a1,t,1cy,fs,7,u,h,26,h,t,i,1b,g,3,v,k,5,i,c0,18,5v,1r,w,o,2,o,18,22,5,0,.1u,c,1s,1,1,0,e,1,c,5p1,15,v,2p,36,6pp,3,1,6,1,1,1,82,f,0,t,2,2,0,e,3,8,az,1s4,2y,5,c,3,8,7,9,4me,2c,.1,1y,1,1,2,0,2,1,2,3,1,b,1,0,1,6,1,1s,1,3,2,7,1,6,1,r,1,3,1,4,1,0,3,6,1,9f,2,o,1,o,1,u,1,o,1,u,1,o,.1,u,1,o,1,u,1,o,1,7,1f8,u,6,5,79,1p,42,18,a,6,g,0,8x,t,i,17,dg,r,6c,t,2,0,5r,u,1,2,1,1,1,6,2,4,9,1,.68,6,1,3,1,1,1,e,1,5g,1n,1v,7,0,xg,3,1,q,1,1,1,0,2,0,1,9,1,3,1,0,1,0,6,0,4,0,1,0,1,0,1,2,1,1,1,0,2,0,.1,0,1,0,1,0,1,0,1,1,1,0,2,3,1,6,1,3,1,3,1,0,1,9,1,g,5,2,1,4,1,g,3es,wyn,w,3dp,2,4gd,2,5rk,f,h9,.1wi,f1,15u,3t6,5,6jt`.split(`.`),n=`0,v,2n,w,d,0,ju,1,6,3,7,0,1,0,k,0,b1,0,12,1,1e,1,3,0,1j,7,r,3,6,g,m,0,5c,0,1c,1,1n,1,2t,d,1n,1,1d,1,.f,0,s,1,1,0,b,4,w,6,23,0,4h,0,8,1,2,1,m,0,7,0,1,2,4,1,9,1,2,1,4,7,1,3,2,0,5,1,p,1,3,0,6,3,2,1,m,0,.7,0,2,0,2,0,2,1,1,0,5,3,2,1,3,2,1,6,4,0,1,6,h,9,3,0,9,0,3,0,m,0,7,0,2,0,5,1,a,0,3,0,3,1,1,e,4,1,c,6,.7,0,3,0,8,1,2,1,m,0,7,0,2,0,5,1,9,1,2,1,3,6,3,3,2,0,5,1,i,9,2,0,6,2,3,0,4,2,2,0,1,0,2,2,2,2,3,2,c,3,.5,2,3,0,4,1,1,5,1,d,l,4,d,0,3,0,n,0,g,1,9,0,3,0,4,6,2,0,3,0,2,1,4,1,a,6,m,0,3,0,n,0,a,0,5,1,9,0,3,0,.4,6,2,4,3,0,4,1,a,0,3,b,d,0,3,0,1f,0,3,0,6,3,g,1,q,0,3,0,i,2,o,0,9,0,1,1,7,2,1,3,6,0,1,0,8,5,a,1,3,b,.1m,3,t,10,2,0,1,0,5,0,o,0,1,0,n,1,5,0,1,0,7,0,a,1,4,v,20,0,10,3,13,0,10,0,f,0,d,10,5i,0,1,4,1,1,ah,0,.4,1,7,0,1,0,4,1,15,0,4,1,x,0,4,1,7,0,1,0,4,1,f,0,1l,0,4,1,1v,1,w,2,q,5,2e,1,6,1,il,2,2h,6,m,8,o,8,.k,b,d,0,3,0,2,b,2m,1,a,5,a,5,e,0,b,5,2h,6,17,4,1y,9,v,0,c,3,c,3,1,2,16,1,5,a,18,3,q,5,b,2,1q,1,1t,0,.t,1,b,5,a,5,e,1,1a,1,c,j,25,0,4m,7,1o,2,f,2,1q,4,17,1,b,7,17,4,eu,1,6,1,12,1,6,1,8,0,1,0,1,0,1,0,v,1,.1h,0,f,0,e,1,6,0,j,1,3,0,9,0,b,4,q,4,1d,f,2,1,r,0,d,2,y,d,x,e,3w,3,ii,l,b,k,1ec,1,am,4,19,0,1,4,1,1,.1k,6,2,d,o,8,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,3i,x,q,0,2h,b,5y,p,28,0,2e,1,2v,4,17,0,2m,0,2e,8,1c,0,.mlp,2,1j,8,9o,j,54,7,65,j,1o,2,a,5,1k,7,1y,7,c,5,38,a,u,2,26,0,b,3,x,0,1j,8,e,1,a,1,2v,n,s,9,6,1,6,1,.6,8,7,0,7,0,1o,3,3i,1,a,5,8mc,b,n,3,1d,1kz,57y,1,2y,11,7,b,5,4,q,0,5,0,1,0,2,0,2,0,i2,v,16,5,1f,0,.j,0,4,3,5,0,3r,3,5a,2,6,1,6,1,6,1,3,2,7,0,7,c,2,1,c,0,q,0,j,0,2,0,f,1,e,x,3f,4,3,3,19,2,2g,0,d,2,.1,1a,1a,3l,t,2,1d,e,s,3,10,8,u,4,17,4,u,0,11,3,e,15,4e,1,a,5,10,3,10,3,14,7,1g,a,c,0,f,0,7,0,2,0,b,0,.f,0,7,0,2,2,1g,b,8n,8,m,9,8,n,6,0,16,0,9,1w,6,1,1,0,18,0,2,2,1,1,n,0,20,7,9,1b,j,0,2,4,x,2,r,4,r,11,.1k,3,k,1,1e,0,2,4,8,0,3,0,t,1,3,3,a,6,9,6,1s,v,13,3,c,8,1i,2,t,1,r,4,q,6,4,b,7,27,21,1i,1f,c,1f,6,.1a,7,a,5,12,2,t,7,2,5r,v,0,16,0,3,1,2,f,6,7,9,w,1a,7,16,l,q,11,s,j,n,8,26,3,10,8,1q,0,5,c,p,6,a,5,.1h,0,i,7,13,8,2o,0,k,a,i,0,1b,1p,7,0,1,0,4,0,f,0,b,5,1n,4,a,5,4,0,8,1,2,1,m,0,7,0,2,0,5,0,a,1,2,1,.3,1,1,5,1,4,7,1,7,2,5,a,a,0,1,1,1,0,12,0,a,0,1,1,1,0,4,0,a,0,2,7,2,s,2k,0,5,t,20,7,a,4l,1i,1,12,x,.1x,a,a,5,d,i,1m,5,a,5,k,r,r,1,f,3,n,54,1o,2r,2b,b,8,1,1,1,8,0,2,0,u,0,2,1,c,8,a,1x,8,1,1a,1,b,q,20,7,.2b,c,21,6,a,2d,8,2f,y,d,a,5,9,0,19,0,e,9,t,2,w,1,m,0,e,20,7,0,2,0,18,2,1,0,2,0,9,7,a,5,6,0,2,0,11,0,.2,0,6,6,a,5,18,3,a,6t,p,6,h,0,15,2,t,2c,1,e,1e,c,pn,2t,33,0,5,a,5g,217,2r,c,ts,f,m,9,32z,4,g7,5a0,.1m,1c5,ft,6,v,0,a,3,29,0,a,5,u,1,6,9,1y,9,a,0,7,0,l,4,j,bz,1m,5h,2j,4,p,1,p,17,23,3,1l,6,h,1r,5,a,.7,8,5p2,14,w,2o,37,6po,4,0,7,0,2,0,83,e,1,s,3,1,1,d,4,7,b0,1s3,2z,4,d,2,9,6,a,1,4,31b,71,2,c4,5,n,e,.h,e,1a,1,n,8,38,1n,6u,9,13,1,22,7,34,k,1y,3d,k,b,k,b,2f,8,p,3q,2d,0,1z,0,2,1,1,1,2,1,4,0,c,0,1,0,7,0,.1t,0,4,1,8,0,7,0,s,0,4,0,5,0,1,2,7,0,9g,1,84,1,ji,e,5,0,f,un,v,5,6,5w,7,0,h,1,7,0,2,0,5,4,1q,w,1,33,.19,2,e,1,a,3,2,8v,v,g,1m,4,1,cv,16,5x,17,3,1,5b,v,0,m,7,2,67,7,0,4,0,2,0,f,0,5h,1,g,14,24,3,a,3,2,ls,.1w,23,1p,5d,4,0,r,0,2,0,1,1,1,0,a,0,4,0,1,0,1,5,1,3,1,0,1,0,1,0,3,0,2,0,1,1,1,0,1,0,1,0,1,0,1,0,2,0,.1,1,4,0,7,0,4,0,4,0,1,0,a,0,h,4,3,0,5,0,h,1f,2,7h,18,3,2s,b,f,1,f,0,f,0,11,9,4u,1j,t,c,18,3,9,6,2,d,.6,49,rd,2,h,2,d,2,62,5,c,3,1,e,c,3,1k,7,a,5,14,7,u,1,c,3,2,d,9,12,9k,7,e,1,d,2,b,2,1l,0,1,3,g,1,c,3,.a,6,43,0,2v,sk,wyo,v,3dq,1,4ge,1,5rl,e,ha,1wh,f2,15t,3t7,4,6ju,f62t,6o,1e6n,1eke,1,1eke,1`.split(`.`);export{t as GLIB_UNICHAR_ALPHA_RANGES,n as GLIB_UNICHAR_NONPRINT_RANGES,e as GLIB_UNICHAR_UNICODE_VERSION};
@@ -0,0 +1 @@
1
+ import"./_virtual/_rolldown/runtime.js";import{GLIB_UNICHAR_ALPHA_RANGES as e,GLIB_UNICHAR_NONPRINT_RANGES as t}from"./glib-unichar.generated.js";var RangeTable=class{#e;#t=null;#n=null;constructor(e){this.#e=e}#r(){let e=this.#e.join(``).split(`,`),t=e.length/2;this.#t=new Uint32Array(t),this.#n=new Uint32Array(t);let n=0;for(let r=0;r<t;r++){let t=n+parseInt(e[2*r],36),i=t+parseInt(e[2*r+1],36);this.#t[r]=t,this.#n[r]=i,n=i+1}}has(e){this.#t===null&&this.#r();let t=this.#t,n=this.#n,r=0,i=t.length-1;for(;r<=i;){let a=r+i>>1;if(e<t[a])i=a-1;else if(e>n[a])r=a+1;else return!0}return!1}};const n=new RangeTable(e),r=new RangeTable(t);function unicharIsalpha(e){let t=e.codePointAt(0);return t!==void 0&&n.has(t)}function unicharIsprint(e){let t=e.codePointAt(0);return t!==void 0&&!r.has(t)}export{unicharIsalpha,unicharIsprint};
@@ -0,0 +1 @@
1
+ import"./_virtual/_rolldown/runtime.js";import{UnsupportedGObjectError as e}from"./gobject.js";import{unicharIsprint as t}from"./glib-unichar.js";const n=new Set([`b`,`i`,`u`,`d`,`s`]),r=new Set([`b`,`y`,`n`,`q`,`i`,`u`,`x`,`t`,`h`,`d`,`s`,`o`,`g`]),i=4294967295;function refuse(t){return new e(t,`${t} is outside the GLib.Variant subset (ADR 0118 § 2).`)}function invalid(e){return TypeError(`Invalid GVariant signature ${e}`)}function readType(e,t,n,i=!1){let a=e[t],o=a!==void 0&&r.has(a);if(!n&&i&&!o)throw invalid(`(a simple type was expected)`);if(o||a===`v`)return t+1;if(a===`a`)return readType(e,t+1,!1);if(a===`m`)return readType(e,t+1,n);if(a===`{`){let r=readType(e,readType(e,t+1,n,!0),n);if(e[r]!==`}`)throw invalid(n?`for type DICT_ENTRY (expected "}")`:`for type DICT_ENTRY (expected "}"`);return r+1}if(a===`(`){let r=t+1;for(;;){if(r>=e.length)throw invalid(`for type TUPLE (expected ")")`);if(e[r]===`)`)return r+1;r=readType(e,r,n)}}throw invalid(n?`(unexpected character ${a})`:`(${a} is not a valid type)`)}function typeOf(e){let t=typeof e==`string`?e:``;if(t===``)throw TypeError(`GVariant signature cannot be empty`);if(readType(t,0,!0)!==t.length)throw invalid(`(more than one single complete type)`);if(n.has(t)||t.length===2&&t[0]===`a`&&n.has(t[1]))return t;throw refuse(`new GLib.Variant('${t}')`)}function typeName(e){return e===null?`null`:typeof e==`object`?e.constructor?.name||`Object`:typeof e}function cutAtNul(e){let t=e.indexOf(`\0`);return t===-1?e:e.slice(0,t)}function toUint32(e){if(e==null||typeof e==`number`&&!Number.isFinite(e))return 0;let t=Number(e);if(Number.isNaN(t)||t<0||t>i)throw Error(`Argument value: value is out of range for uint32`);return Math.trunc(t)||0}function toBasic(e,t){switch(e){case`b`:return!!t;case`i`:return Number(t)|0;case`u`:return toUint32(t);case`d`:return Number(t);case`s`:if(typeof t==`string`)return cutAtNul(t);throw Error(t===null?`Argument string may not be null`:`Expected type string for argument 'string' but got type ${typeName(t)}`)}}function toArray(e,t){if(e===`s`){if(typeof t==`string`)throw Error(`Cannot convert string to array of 'utf8'`);if(typeof t!=`object`||!t||!(`length`in t))throw Error(`Expected type utf8 for Argument 'strv' but got type '${typeName(t)}'`)}else if(t==null)throw TypeError(`can't access property "length", value is ${t}`);let n=t,r=Number(n.length),i=[];for(let t=0;t<r;t++){let r=n[t];if(e===`s`&&typeof r!=`string`)throw Error(`Invalid element in string array`);i.push(toBasic(e,r))}return i}const a={"\x07":`\\a`,"\b":`\\b`," ":`\\t`,"\n":`\\n`,"\v":`\\v`,"\f":`\\f`,"\r":`\\r`};function hex(e,t){return e.toString(16).padStart(t,`0`)}function printString(e){let n=e.includes(`'`)?`"`:`'`,r=n;for(let i of e)if(i===n||i===`\\`)r+=`\\${i}`;else if(i in a)r+=a[i];else if(t(i))r+=i;else{let e=i.codePointAt(0);r+=e<65536?`\\u${hex(e,4)}`:`\\U${hex(e,8)}`}return r+n}function stripZeros(e){return e.includes(`.`)?e.replace(/\.?0+$/,``):e}function printDouble(e){if(Number.isNaN(e))return`nan`;if(!Number.isFinite(e))return e>0?`inf`:`-inf`;let t=e<0||Object.is(e,-0)?`-`:``,n=Math.abs(e),[r,i]=n.toExponential(16).split(`e`),a=Number(i),o=t+(a<-4||a>=17?`${stripZeros(r)}e${a<0?`-`:`+`}${String(Math.abs(a)).padStart(2,`0`)}`:stripZeros(n.toFixed(16-a)));return/^-?\d+$/.test(o)?`${o}.0`:o}function printBasic(e,t,n){switch(e){case`b`:return t?`true`:`false`;case`i`:return String(t);case`u`:return n?`uint32 ${t}`:String(t);case`d`:return printDouble(t);case`s`:return printString(t)}}var o=class Variant{#e;#t;constructor(e,t){let n=typeOf(e);this.#e=n,this.#t=n.length===1?toBasic(n,t):toArray(n[1],t)}static new(e,t){return new Variant(e,t)}static parseText(e,t){return parseVariant(e,t)}get_type_string(){return this.#e}unpack(){let e=this.#t;if(!Array.isArray(e))return e;let t=this.#e[1];return e.map(e=>new Variant(t,e))}deepUnpack(){let e=this.#t;return Array.isArray(e)?e.slice():e}recursiveUnpack(){return this.deepUnpack()}equal(e){if(!(e instanceof Variant))throw Error(`Expected an object of type GVariant for argument 'two' but got type ${typeName(e)}`);if(e.#e!==this.#e)return!1;let t=this.#t,n=e.#t;return!Array.isArray(t)||!Array.isArray(n)?Object.is(t,n):t.length===n.length&&t.every((e,t)=>Object.is(e,n[t]))}print(e){let t=!!e,n=this.#t;if(!Array.isArray(n))return printBasic(this.#e,n,t);if(n.length===0)return t?`@${this.#e} []`:`[]`;let r=this.#e[1];return`[${n.map((e,n)=>printBasic(r,e,t&&n===0)).join(`, `)}]`}toString(){return`[object variant of type "${this.#e}"]`}};Object.defineProperty(o.prototype,"deep_unpack",{value:o.prototype.deepUnpack,writable:!0,configurable:!0,enumerable:!1});const s=`get_boolean.get_byte.get_int16.get_uint16.get_int32.get_uint32.get_int64.get_uint64.get_handle.get_double.get_string.dup_string.get_strv.dup_strv.get_objv.get_bytestring.get_variant.get_maybe.get_type.is_of_type.is_container.classify.n_children.get_child_value.lookup_value.get_size.get_data.get_data_as_bytes.store.get_normal_form.is_normal_form.byteswap.hash.compare.check_format_string.is_floating.ref.ref_sink.take_ref.unref`.split(`.`),c=`parse.new_boolean.new_byte.new_int16.new_uint16.new_int32.new_uint32.new_int64.new_uint64.new_handle.new_double.new_string.new_take_string.new_object_path.new_signature.new_variant.new_strv.new_objv.new_bytestring.new_bytestring_array.new_maybe.new_array.new_tuple.new_dict_entry.new_fixed_array.new_from_bytes.new_from_data.is_object_path.is_signature.parse_error_quark.parse_error_print_context`.split(`.`);for(let e of s)Object.defineProperty(o.prototype,e,{value:()=>{throw refuse(`GLib.Variant.prototype.${e}()`)},writable:!0,configurable:!0,enumerable:!1});for(let e of c)Object.defineProperty(o,e,{value:()=>{throw refuse(`GLib.Variant.${e}()`)},writable:!0,configurable:!0,enumerable:!1});const l={boolean:`b`,int32:`i`,uint32:`u`,double:`d`,string:`s`},u=/^([+-]?)(?:0[xX]([0-9a-fA-F]+)|(0[0-7]*)|([1-9][0-9]*))$/,d=/^[+-]?(?:[0-9]+\.?[0-9]*|\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,f=/^([+-]?)(inf|nan)$/,p=/[A-Za-z_][A-Za-z0-9_]*/y,m=/[0-9A-Za-z_.+-]+/y;var TextReader=class{constructor(e,t){this.text=e,this.type=t,this.at=0}fail(e){return Error(`GLib.Variant: '${this.text}' is not a valid '${this.type}' value: ${e}`)}skipSpace(){for(;/\s/.test(this.text[this.at]??``);)this.at++}peek(){return this.skipSpace(),this.text[this.at]}match(e){e.lastIndex=this.at;let t=e.exec(this.text);return t?(this.at+=t[0].length,t[0]):null}};function readInteger(e,t,n){let r=u.exec(t);if(!r)throw e.fail(`'${t}' is not an integer`);let[,a,o,s,c]=r,l=o===void 0?s===void 0?Number(c):parseInt(s,8):parseInt(o,16),d=a===`-`?-l:l,[f,p]=n===`i`?[-2147483648,2147483647]:[0,i];if(d<f||d>p)throw e.fail(`${t} is out of range for '${n}'`);return d||0}function readNumber(e,t){let n=e.match(m);if(n===null)throw e.fail(`expected a number at ${e.at}`);if(t!==`d`)return readInteger(e,n,t);let r=/^([+-]?)0[xX]([0-9a-fA-F]+)$/.exec(n);if(r)return(r[1]===`-`?-1:1)*parseInt(r[2],16);let i=f.exec(n);if(i)return i[2]===`nan`?NaN:i[1]===`-`?-1/0:1/0;if(!d.test(n))throw e.fail(`'${n}' is not a number`);return Number(n)}function readString(e){let{text:t}=e,n=t[e.at];if(n!==`'`&&n!==`"`)throw e.fail(`expected a string at ${e.at}`);e.at++;let r=``;for(;;){let i=t[e.at];if(i===void 0)throw e.fail(`unterminated string`);if(e.at++,i===n)return r;if(i!==`\\`){r+=i;continue}let o=t[e.at++];if(o===void 0)throw e.fail(`unterminated string`);if(o===`u`||o===`U`){let n=o===`u`?4:8,i=t.slice(e.at,e.at+n),a=parseInt(i,16);if(!/^[0-9a-fA-F]+$/.test(i)||i.length!==n||a>1114111)throw e.fail(`invalid \\${o} escape`);e.at+=n,r+=String.fromCodePoint(a)}else{let e=Object.keys(a).find(e=>a[e]===`\\${o}`);r+=e??o}}}function readBasic(e,t){e.skipSpace();let n=e.at,r=e.match(p);if(r!==null&&r in l){if(l[r]!==t)throw e.fail(`'${r}' is not a '${t}'`);e.skipSpace()}else e.at=n;if(t===`s`)return readString(e);if(t===`b`){let t=e.match(p);if(t===`true`||t===`false`)return t===`true`;throw e.fail(`expected true or false at ${n}`)}return readNumber(e,t)}function parseVariant(e,t){let n=typeOf(e),r=new TextReader(t,n),i;if(n.length===1)i=readBasic(r,n);else{if(r.peek()===`@`){r.at++;let e=r.match(/[^\s[]+/y);if(e!==n)throw r.fail(`the annotation '@${e}' is not '@${n}'`)}if(r.peek()!==`[`)throw r.fail(`expected '[' at ${r.at}`);r.at++;let e=[];if(r.peek()===`]`)r.at++;else for(;;){e.push(readBasic(r,n[1]));let t=r.peek();if(r.at++,t===`]`)break;if(t!==`,`)throw r.fail(`expected ',' or ']' at ${r.at-1}`)}i=e}if(r.peek()!==void 0)throw r.fail(`unexpected '${r.text.slice(r.at)}'`);return new o(n,i)}export{o as Variant};
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import{registerGObjectEngine as e,registeredEngine as t}from"./engine.js";var UnsupportedGObjectError=class extends Error{constructor(e,t){super(t),this.name=`UnsupportedGObjectError`,this.feature=e}};const n=new WeakSet;function makeType(e){let t=Object.freeze({name:e});return n.add(t),t}const r=makeType(`gchararray`),i=makeType(`gboolean`),a=makeType(`gint`),o=makeType(`guint`),s=makeType(`gdouble`),c=new WeakMap;var Value=class{init(e){if(e!==r)throw new UnsupportedGObjectError(`GObject.Value of ${describeType(e)}`,`GObject.Value holds only TYPE_STRING in this subset (ADR 0096 Amendment 2); '${describeType(e)}' is not supported`);return c.set(this,{type:e,string:null}),this}set_string(e){let t=c.get(this);if(e!==null&&typeof e!=`string`)throw TypeError(`Expected type string for argument 'v_string' but got type ${typeof e}`);t&&(t.string=e)}get_string(){return c.get(this)?.string??null}};function readValue(e){let t=typeof e==`object`&&e?c.get(e):void 0;return t?{...t}:null}const l=[r,i,a,o,s],u={READABLE:1,WRITABLE:2,READWRITE:3,CONSTRUCT:4,CONSTRUCT_ONLY:8};var d=class ParamSpec{constructor(e,t,n,r,i,a,o,s){this.kind=e,this.name=t,this.nick=n,this.blurb=r,this.flags=i,this.defaultValue=a,this.minimum=o,this.maximum=s}static boolean(e,t,n,r,i){return new ParamSpec(`boolean`,e,t,n,r,i)}static string(e,t,n,r,i){return new ParamSpec(`string`,e,t,n,r,i)}static int(e,t,n,r,i,a,o){return new ParamSpec(`int`,e,t,n,r,o,i,a)}static uint(e,t,n,r,i,a,o){return new ParamSpec(`uint`,e,t,n,r,o,i,a)}static double(e,t,n,r,i,a,o){return new ParamSpec(`double`,e,t,n,r,o,i,a)}get_default_value(){return this.defaultValue}};const f={GTypeName:Symbol(`GType name`),GTypeFlags:Symbol(`GType flags`),interfaces:Symbol(`GType interfaces`),properties:Symbol(`GObject properties`),signals:Symbol(`GObject signals`),requires:Symbol(`GObject interface requires`),template:Symbol(`GTK widget template`),cssName:Symbol(`GTK widget CSS name`),children:Symbol(`GTK widget template children`),internalChildren:Symbol(`GTK widget template internal children`)},p={GTypeName:f.GTypeName,Template:f.template,InternalChildren:f.internalChildren,Properties:f.properties,Signals:f.signals,CssName:f.cssName},m={Children:f.children,Implements:f.interfaces,Requires:f.requires,GTypeFlags:f.GTypeFlags},h=new WeakMap;function registeredClassOf(e){return h.get(e)}function chainOf(e){let t=[];for(let n=e;typeof n==`function`;n=Object.getPrototypeOf(n)){let e=h.get(n);e&&t.push(e)}return t}function chainOfInstance(e){return chainOf(e.constructor)}function typeNameOf(e,t){return t[0]?.typeName??e.constructor.name}function aliasesOf(e){return[e,e.replace(/-/g,`_`),e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())]}function findProperty(e,t){for(let n of e)for(let e of n.properties)if(aliasesOf(e.name).includes(t))return e}function findSignal(e,t){for(let n of e)if(Object.prototype.hasOwnProperty.call(n.signals,t))return n.signals[t]}function parseSignal(e){let t=e.indexOf(`::`);return t===-1?{name:e}:{name:e.slice(0,t),detail:e.slice(t+2)}}const g=new WeakMap;function stateOf(e){let t=g.get(e);return t||(t={values:new Map,handlers:new Map,connections:new Map,emissions:[]},g.set(e,t)),t}function runHandlers(e,t,n){let r=stateOf(e),i={key:t,stopped:!1};r.emissions.push(i);try{for(let{id:a,handler:o}of(r.handlers.get(t)??[]).slice()){if(i.stopped)break;r.connections.has(a)&&o(e,...n)}}finally{r.emissions.pop()}}const _={name:`pure-js`,register(){},getValue(e,t){let{values:n}=stateOf(e);return n.has(t.name)||n.set(t.name,t.get_default_value()),n.get(t.name)},setValue(e,t,n){let{values:r}=stateOf(e),i=n!==r.get(t.name);return r.set(t.name,n),i},addHandler(e,t,n,r){let i=stateOf(e),a=i.handlers.get(n)??[];a.push({id:t,handler:r}),i.handlers.set(n,a),i.connections.set(t,()=>{a.splice(a.findIndex(e=>e.id===t),1)})},removeHandler(e,t){let n=stateOf(e),r=n.connections.get(t);return r?(n.connections.delete(t),r(),!0):!1},emit(e,t,n){runHandlers(e,t,n)},notify(e,t){runHandlers(e,`notify::${t.name}`,[t])},stopEmission(e,t){let{emissions:n}=stateOf(e);for(let e=n.length-1;e>=0;e--){let r=n[e];if(r.key===t&&!r.stopped)return r.stopped=!0,!0}return!1},bind(e,t,n,r,i){return bindProperties(e,t,n,r,i)}};function usePureJsGObjectEngine(){return e(_),_}const v=new WeakMap;function engineOf(e){let t=v.get(e);return t||(t=chainOfInstance(e)[0]?.engine??_,v.set(e,t)),t}let y=0;const b=new WeakMap,x=Symbol.for(`@gjsify/adwaita-core/stop-emission`);function isStoppable(e){return typeof e[x]==`function`}function stopEmissionByName(e,t){if(typeof e!=`object`||!e)throw TypeError(`GObject.signal_stop_emission_by_name: not a GObject instance`);if(isStoppable(e)){e[x](t);return}let n=chainOfInstance(e),r=typeNameOf(e,n),{name:i,detail:a}=parseSignal(t),o;if(i===`notify`&&a!==void 0){let e=findProperty(n,a);e&&(o=`notify::${e.name}`)}else a===void 0&&findSignal(n,i)&&(o=i);if(o===void 0){if(!n[0])throw new UnsupportedGObjectError(`signal_stop_emission_by_name`,`'${t}' on '${r}' is not a signal of a registered class; only those can be stopped.`);console.warn(`signal '${t}' is invalid for instance of type '${r}'`);return}engineOf(e).stopEmission(e,o)||console.warn(`no emission of signal "${t}" to stop for instance of type '${r}'`)}function connectInstance(e,t,n){let r=chainOfInstance(e),i=typeNameOf(e,r),{name:a,detail:o}=parseSignal(t),own=t=>{let r=++y;return engineOf(e).addHandler(e,r,t,n),r},foreign=()=>{let a=r[0]?.door;if(!a)throw Error(`No signal '${t}' on object '${i}'`);let o=++y,s=a.listen(e,t,n),c=b.get(e);return c||b.set(e,c=new Map),c.set(o,s),o};if(a===`notify`){if(o===void 0)throw new UnsupportedGObjectError(`connect("notify")`,`connect('notify') without a property is outside the GObject subset; connect 'notify::<property>' on '${i}'.`);let e=findProperty(r,o);return e?own(`notify::${e.name}`):foreign()}if(findSignal(r,a)){if(o!==void 0)throw Error(`Signal '${a}' on object '${i}' has no detail`);return own(a)}return foreign()}function disconnectInstance(e,t){let n=b.get(e)?.get(t);if(n){b.get(e).delete(t),n();return}if(!engineOf(e).removeHandler(e,t))throw Error(`No handler with id ${t} is connected to ${String(e)}`)}function emitInstance(e,t,...n){let r=chainOfInstance(e),i=typeNameOf(e,r),a=findSignal(r,t);if(a){if(n.length!==a.length)throw Error(`Signal '${t}' on ${i} requires ${a.length} args got ${n.length}`);engineOf(e).emit(e,t,n);return}let o=r[0]?.door;if(!o)throw Error(`No signal '${t}' on object '${i}'`);o.dispatch(e,t,n)}function notifyInstance(e,t){let n=chainOfInstance(e),r=findProperty(n,t);if(r){engineOf(e).notify(e,r);return}let i=n[0]?.door;if(!i)throw Error(`No property ${t} on ${typeNameOf(e,n)}`);i.dispatch(e,`notify::${t}`,[])}function generateAccessors(e,t){let{name:n,flags:r}=e,i=r&u.READABLE,a=r&u.WRITABLE,o=t??{configurable:!0,enumerable:!0};return i&&a?!o.get&&!o.set?(o.get=function(){return engineOf(this).getValue(this,e)},o.set=function(t){engineOf(this).setValue(this,e,t)&&this.notify(n)}):o.get?o.set||=function(){throw Error(`getter defined without setter for property ${n}`)}:o.get=function(){throw Error(`setter defined without getter for property ${n}`)}:i&&!o.get?o.get=function(){throw Error(`missing getter for read-only property ${n}`)}:a&&!o.set&&(o.set=function(){throw Error(`missing setter for write-only property ${n}`)}),o}function checkAccessors(e,t){let{name:n,flags:r}=t;if(r&u.CONSTRUCT_ONLY)return;let[,i,a]=aliasesOf(n),own=t=>Object.getOwnPropertyDescriptor(e,t),o=own(n),s=o,c=n.includes(`-`),l,d;c&&(l=own(i),d=own(a),o??=l,o??=d);let f=r&u.READABLE,p=r&u.WRITABLE;(!o||f&&!o.get||p&&!o.set)&&(o=generateAccessors(t,o)),s||Object.defineProperty(e,n,o),c&&(l||Object.defineProperty(e,i,o),d||Object.defineProperty(e,a,o))}function defineConstructOnly(e,t,n){let r=engineOf(e);r.setValue(e,t,n);for(let n of new Set(aliasesOf(t.name)))Object.defineProperty(e,n,{get:()=>r.getValue(e,t),enumerable:!0,configurable:!0})}function bindProperties(e,t,n,r,i=[]){let a=i.includes(`invert-boolean`),o=!1,transfer=(e,t,n,r)=>()=>{if(!o){o=!0;try{let i=e[t];n[r]=a?!i:i}finally{o=!1}}},s=transfer(e,t,n,r),c=[[e,e.connect(`notify::${t}`,s)]];if(i.includes(`bidirectional`)){let i=transfer(n,r,e,t);c.push([n,n.connect(`notify::${r}`,i)])}return i.includes(`sync-create`)&&s(),{unbind(){for(let[e,t]of c.splice(0))e.disconnect(t)}}}function createClosure(e,t,n,r){let i=r??e;if(n)throw new UnsupportedGObjectError(`swapped`,`Unsupported template signal flag "swapped"`);let a=e[t];if(a===void 0)throw Error(`A handler called ${t} was not defined on ${String(e)}`);return a.bind(i)}function scopeOf(e){let t=engineOf(e);return{instance:e,handler:(t,n)=>createClosure(e,t,n?.flags?.includes(`swapped`)??!1,n?.object),bind:(e,n,r,i,a)=>t.bind(e,n,r,i,a??[])}}function constructRegistered(e,t={}){let n=chainOfInstance(e),r={},i=new Map;for(let[e,a]of Object.entries(t)){let t=findProperty(n,e);t?i.set(t,a):r[e]=a}let a=[];for(let t of[...n].reverse())t.template&&a.push([t,t.door.createFromTree(t.template,scopeOf(e),e)]);for(let t of n)for(let n of t.properties)n.flags&u.CONSTRUCT_ONLY&&defineConstructOnly(e,n,i.has(n)?i.get(n):n.get_default_value());for(let t of[...n].reverse())for(let n of t.properties)n.flags&u.CONSTRUCT&&!(n.flags&u.CONSTRUCT_ONLY)&&(e[n.name]=i.has(n)?i.get(n):n.get_default_value());for(let[t,n]of i)t.flags&(u.CONSTRUCT|u.CONSTRUCT_ONLY)||(e[t.name]=n);for(let[t,n]of a){for(let r of t.internalChildren){let i=n.objects[r];if(i===void 0)throw Error(`Template of ${t.typeName} has no child object '${r}' for InternalChildren`);e[`_${r.replace(/-/g,`_`)}`]=i}t.door.attach(e,n)}return r}const own=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),S=Symbol(`GIR type`),C={"Gio.Application":[`vfunc_startup`,`vfunc_activate`],"GtkSource.GutterRenderer":[`vfunc_query_data`]};function unlockedVfuncsOf(e){let t=new Set;for(let n=e;typeof n==`function`;n=Object.getPrototypeOf(n)){let e=own(n,S)?n[S]:void 0;if(typeof e==`string`)for(let n of C[e]??[])t.add(n)}return t}function refusal(e,t,n=``){return new UnsupportedGObjectError(t,`GObject.registerClass: ${e} uses '${t}'${n}, which is outside the GObject subset (ADR 0096 § 2).`)}function describeType(e){return e?.name?.toString()??String(e)}let w=0;function registerWith(e,t,n){let r=n.length===2?n[1]:n[0];if(typeof r!=`function`)throw TypeError(`GObject.registerClass() needs a class`);let i=r,a=i.name||`anonymous class`;if(n.length===2){let e=n[0];for(let t of Object.keys(e))if(!own(p,t))throw refusal(a,t);for(let[t,n]of Object.entries(p))t in e&&(i[n]=e[t])}for(let[e,t]of Object.entries(m))if(own(i,t))throw refusal(a,e);let o=unlockedVfuncsOf(i);for(let e of[i,i.prototype])for(let t of Object.getOwnPropertyNames(e))if(t.startsWith(`vfunc_`)&&typeof Object.getOwnPropertyDescriptor(e,t)?.value==`function`&&!o.has(t))throw refusal(a,t,` (a virtual function override that UNLOCKED_VFUNCS does not list, ADR 0098 § 1a)`);let declared=e=>own(i,e)?i[e]:void 0,s=declared(f.GTypeName),c=String(s??`Gjs_${i.name||`anonymous_${++w}`}`).replace(/[^a-z0-9+_-]/gi,`_`),u=Object.values(declared(f.properties)??{}).map(e=>{if(!(e instanceof d))throw TypeError(`GObject.registerClass: ${a} declares a property that is not a ParamSpec`);return e}),g={};for(let[e,t]of Object.entries(declared(f.signals)??{})){for(let n of Object.keys(t))if(n!==`param_types`)throw refusal(a,`Signals.${e}.${n}`);let n=t.param_types??[];for(let t of n)if(!l.includes(t))throw refusal(a,`Signals.${e}.param_types`,` with the type '${describeType(t)}' (only TYPE_STRING, TYPE_BOOLEAN, TYPE_INT, TYPE_UINT and TYPE_DOUBLE)`);g[e]=n}let _=declared(f.template);if(_!==void 0&&(typeof _!=`object`||!_))throw new UnsupportedGObjectError(`Template`,`GObject.registerClass: ${a} has a Template that is not a '?template' value; a string, URI or bytes stay GJS-only (ADR 0096 § 4).`);let v=makeType(c),y={klass:i,typeName:c,gtype:v,properties:u,signals:g,template:_,internalChildren:declared(f.internalChildren)??[],cssName:declared(f.cssName),door:e,engine:t};Object.defineProperty(i,"$gtype",{get:()=>v,enumerable:!1,configurable:!1});for(let e of u)checkAccessors(i.prototype,e);return installInstanceApi(i.prototype),h.set(i,y),t.register(y),e.register(y.klass,y),y.klass}function registerBaseClass(e,t,n,r=[],i=_){let missing=e=>{throw Error(`No signal '${e}' on object '${t}'`)},a=makeType(t);Object.defineProperty(e,"$gtype",{get:()=>a,enumerable:!1,configurable:!1});for(let t of r)checkAccessors(e.prototype,t);let o={klass:e,typeName:t,gtype:a,properties:r,signals:n,internalChildren:[],engine:i,door:{name:t,dispatch:(e,t)=>missing(t),listen:(e,t)=>missing(t),createFromTree:()=>missing(`template`),attach(){},register(){}}};h.set(e,o),i.register(o)}var GObjectObject=class{constructor(e){let t=constructRegistered(this,e),n=Object.keys(t)[0];if(n!==void 0)throw Error(`No property ${n} on ${typeNameOf(this,chainOfInstance(this))}`)}notify(e){notifyInstance(this,e)}connect(e,t){return connectInstance(this,e,t)}disconnect(e){disconnectInstance(this,e)}emit(e,...t){emitInstance(this,e,...t)}};function installInstanceApi(e){for(let t of[`notify`,`connect`,`disconnect`,`emit`])typeof e[t]!=`function`&&Object.defineProperty(e,t,{value:GObjectObject.prototype[t],writable:!0,configurable:!0,enumerable:!1})}function createGObject(e,t=_){return{engineName:t.name,Object:GObjectObject,registerClass:((...n)=>registerWith(e,t,n)),ParamSpec:d,ParamFlags:u,Value,TYPE_STRING:r,TYPE_BOOLEAN:i,TYPE_INT:a,TYPE_UINT:o,TYPE_DOUBLE:s,GTypeName:f.GTypeName,GTypeFlags:f.GTypeFlags,interfaces:f.interfaces,properties:f.properties,signals:f.signals,requires:f.requires,__gtkTemplate__:f.template,__gtkCssName__:f.cssName,__gtkChildren__:f.children,__gtkInternalChildren__:f.internalChildren,type_ensure(e){if(!n.has(e))throw TypeError(`GObject.type_ensure: not a GType of this GObject`)},signal_stop_emission_by_name:stopEmissionByName}}function gobjectEngineName(){return t()?.name??_.name}export{S as GIR_TYPE,GObjectObject,f as META_SYMBOLS,_ as PURE_JS_ENGINE,u as ParamFlags,d as ParamSpec,x as STOP_EMISSION,i as TYPE_BOOLEAN,s as TYPE_DOUBLE,a as TYPE_INT,r as TYPE_STRING,o as TYPE_UINT,C as UNLOCKED_VFUNCS,UnsupportedGObjectError,Value,bindProperties,connectInstance,constructRegistered,createClosure,createGObject,disconnectInstance,emitInstance,gobjectEngineName,notifyInstance,readValue,registerBaseClass,registeredClassOf,stopEmissionByName,usePureJsGObjectEngine};
1
+ import"./_virtual/_rolldown/runtime.js";import{registerGObjectEngine as e,registeredEngine as t}from"./engine.js";var UnsupportedGObjectError=class extends Error{constructor(e,t){super(t),this.name=`UnsupportedGObjectError`,this.feature=e}};const n=new WeakSet;function makeType(e){let t=Object.freeze({name:e});return n.add(t),t}const r=makeType(`gchararray`),i=makeType(`gboolean`),a=makeType(`gint`),o=makeType(`guint`),s=makeType(`gdouble`),c=new WeakMap;var Value=class{init(e){if(e!==r)throw new UnsupportedGObjectError(`GObject.Value of ${describeType(e)}`,`GObject.Value holds only TYPE_STRING in this subset (ADR 0096 Amendment 2); '${describeType(e)}' is not supported`);return c.set(this,{type:e,string:null}),this}set_string(e){let t=c.get(this);if(e!==null&&typeof e!=`string`)throw TypeError(`Expected type string for argument 'v_string' but got type ${typeof e}`);t&&(t.string=e)}get_string(){return c.get(this)?.string??null}};function readValue(e){let t=typeof e==`object`&&e?c.get(e):void 0;return t?{...t}:null}const l=[r,i,a,o,s],u={READABLE:1,WRITABLE:2,READWRITE:3,CONSTRUCT:4,CONSTRUCT_ONLY:8};var d=class ParamSpec{constructor(e,t,n,r,i,a,o,s){this.kind=e,this.name=t,this.nick=n,this.blurb=r,this.flags=i,this.defaultValue=a,this.minimum=o,this.maximum=s}static boolean(e,t,n,r,i){return new ParamSpec(`boolean`,e,t,n,r,i)}static string(e,t,n,r,i){return new ParamSpec(`string`,e,t,n,r,i)}static int(e,t,n,r,i,a,o){return new ParamSpec(`int`,e,t,n,r,o,i,a)}static uint(e,t,n,r,i,a,o){return new ParamSpec(`uint`,e,t,n,r,o,i,a)}static double(e,t,n,r,i,a,o){return new ParamSpec(`double`,e,t,n,r,o,i,a)}get_default_value(){return this.defaultValue}};const f={GTypeName:Symbol(`GType name`),GTypeFlags:Symbol(`GType flags`),interfaces:Symbol(`GType interfaces`),properties:Symbol(`GObject properties`),signals:Symbol(`GObject signals`),requires:Symbol(`GObject interface requires`),template:Symbol(`GTK widget template`),cssName:Symbol(`GTK widget CSS name`),children:Symbol(`GTK widget template children`),internalChildren:Symbol(`GTK widget template internal children`)},p={GTypeName:f.GTypeName,Template:f.template,InternalChildren:f.internalChildren,Properties:f.properties,Signals:f.signals,CssName:f.cssName},m={Children:f.children,Implements:f.interfaces,Requires:f.requires,GTypeFlags:f.GTypeFlags},h=new WeakMap;function registeredClassOf(e){return h.get(e)}function chainOf(e){let t=[];for(let n=e;typeof n==`function`;n=Object.getPrototypeOf(n)){let e=h.get(n);e&&t.push(e)}return t}function chainOfInstance(e){return chainOf(e.constructor)}function typeNameOf(e,t){return t[0]?.typeName??e.constructor.name}function aliasesOf(e){return[e,e.replace(/-/g,`_`),e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())]}function findProperty(e,t){for(let n of e)for(let e of n.properties)if(aliasesOf(e.name).includes(t))return e}function findSignal(e,t){for(let n of e)if(Object.prototype.hasOwnProperty.call(n.signals,t))return n.signals[t]}function parseSignal(e){let t=e.indexOf(`::`);return t===-1?{name:e}:{name:e.slice(0,t),detail:e.slice(t+2)}}const g=new WeakMap;function stateOf(e){let t=g.get(e);return t||(t={values:new Map,handlers:new Map,connections:new Map,emissions:[]},g.set(e,t)),t}function runHandlers(e,t,n){let r=stateOf(e),i={key:t,stopped:!1};r.emissions.push(i);try{for(let{id:a,handler:o}of(r.handlers.get(t)??[]).slice()){if(i.stopped)break;r.connections.has(a)&&o(e,...n)}}finally{r.emissions.pop()}}const _={name:`pure-js`,supportsForeignParentClasses:!1,registerForeignClass(e,t){throw TypeError(`The pure-JS GObject engine cannot register '${t.GTypeName}' (${e.name??`anonymous`}) over a foreign parent class: there is no GType to register it as. Check supportsForeignParentClasses before calling — a caller that reaches this is one that would otherwise have fallen back silently, which is what ADR 0105 refuses.`)},register(){},getValue(e,t){let{values:n}=stateOf(e);return n.has(t.name)||n.set(t.name,t.get_default_value()),n.get(t.name)},setValue(e,t,n){let{values:r}=stateOf(e),i=n!==r.get(t.name);return r.set(t.name,n),i},addHandler(e,t,n,r){let i=stateOf(e),a=i.handlers.get(n)??[];a.push({id:t,handler:r}),i.handlers.set(n,a),i.connections.set(t,()=>{a.splice(a.findIndex(e=>e.id===t),1)})},removeHandler(e,t){let n=stateOf(e),r=n.connections.get(t);return r?(n.connections.delete(t),r(),!0):!1},emit(e,t,n){runHandlers(e,t,n)},notify(e,t){runHandlers(e,`notify::${t.name}`,[t])},stopEmission(e,t){let{emissions:n}=stateOf(e);for(let e=n.length-1;e>=0;e--){let r=n[e];if(r.key===t&&!r.stopped)return r.stopped=!0,!0}return!1},bind(e,t,n,r,i){return bindProperties(e,t,n,r,i)}};function usePureJsGObjectEngine(){return e(_),_}const v=new WeakMap;function engineOf(e){let t=v.get(e);return t||(t=chainOfInstance(e)[0]?.engine??_,v.set(e,t)),t}let y=0;const b=new WeakMap,x=Symbol.for(`@gjsify/adwaita-core/stop-emission`);function isStoppable(e){return typeof e[x]==`function`}function stopEmissionByName(e,t){if(typeof e!=`object`||!e)throw TypeError(`GObject.signal_stop_emission_by_name: not a GObject instance`);if(isStoppable(e)){e[x](t);return}let n=chainOfInstance(e),r=typeNameOf(e,n),{name:i,detail:a}=parseSignal(t),o;if(i===`notify`&&a!==void 0){let e=findProperty(n,a);e&&(o=`notify::${e.name}`)}else a===void 0&&findSignal(n,i)&&(o=i);if(o===void 0){if(!n[0])throw new UnsupportedGObjectError(`signal_stop_emission_by_name`,`'${t}' on '${r}' is not a signal of a registered class; only those can be stopped.`);console.warn(`signal '${t}' is invalid for instance of type '${r}'`);return}engineOf(e).stopEmission(e,o)||console.warn(`no emission of signal "${t}" to stop for instance of type '${r}'`)}function connectInstance(e,t,n){let r=chainOfInstance(e),i=typeNameOf(e,r),{name:a,detail:o}=parseSignal(t),own=t=>{let r=++y;return engineOf(e).addHandler(e,r,t,n),r},foreign=()=>{let a=r[0]?.door;if(!a)throw Error(`No signal '${t}' on object '${i}'`);let o=++y,s=a.listen(e,t,n),c=b.get(e);return c||b.set(e,c=new Map),c.set(o,s),o};if(a===`notify`){if(o===void 0)throw new UnsupportedGObjectError(`connect("notify")`,`connect('notify') without a property is outside the GObject subset; connect 'notify::<property>' on '${i}'.`);let e=findProperty(r,o);return e?own(`notify::${e.name}`):foreign()}if(findSignal(r,a)){if(o!==void 0)throw Error(`Signal '${a}' on object '${i}' has no detail`);return own(a)}return foreign()}function disconnectInstance(e,t){let n=b.get(e)?.get(t);if(n){b.get(e).delete(t),n();return}if(!engineOf(e).removeHandler(e,t))throw Error(`No handler with id ${t} is connected to ${String(e)}`)}function emitInstance(e,t,...n){let r=chainOfInstance(e),i=typeNameOf(e,r),a=findSignal(r,t);if(a){if(n.length!==a.length)throw Error(`Signal '${t}' on ${i} requires ${a.length} args got ${n.length}`);engineOf(e).emit(e,t,n);return}let o=r[0]?.door;if(!o)throw Error(`No signal '${t}' on object '${i}'`);o.dispatch(e,t,n)}function notifyInstance(e,t){let n=chainOfInstance(e),r=findProperty(n,t);if(r){engineOf(e).notify(e,r);return}let i=n[0]?.door;if(!i)throw Error(`No property ${t} on ${typeNameOf(e,n)}`);i.dispatch(e,`notify::${t}`,[])}function generateAccessors(e,t){let{name:n,flags:r}=e,i=r&u.READABLE,a=r&u.WRITABLE,o=t??{configurable:!0,enumerable:!0};return i&&a?!o.get&&!o.set?(o.get=function(){return engineOf(this).getValue(this,e)},o.set=function(t){engineOf(this).setValue(this,e,t)&&this.notify(n)}):o.get?o.set||=function(){throw Error(`getter defined without setter for property ${n}`)}:o.get=function(){throw Error(`setter defined without getter for property ${n}`)}:i&&!o.get?o.get=function(){throw Error(`missing getter for read-only property ${n}`)}:a&&!o.set&&(o.set=function(){throw Error(`missing setter for write-only property ${n}`)}),o}function checkAccessors(e,t){let{name:n,flags:r}=t;if(r&u.CONSTRUCT_ONLY)return;let[,i,a]=aliasesOf(n),own=t=>Object.getOwnPropertyDescriptor(e,t),o=own(n),s=o,c=n.includes(`-`),l,d;c&&(l=own(i),d=own(a),o??=l,o??=d);let f=r&u.READABLE,p=r&u.WRITABLE;(!o||f&&!o.get||p&&!o.set)&&(o=generateAccessors(t,o)),s||Object.defineProperty(e,n,o),c&&(l||Object.defineProperty(e,i,o),d||Object.defineProperty(e,a,o))}function defineConstructOnly(e,t,n){let r=engineOf(e);r.setValue(e,t,n);for(let n of new Set(aliasesOf(t.name)))Object.defineProperty(e,n,{get:()=>r.getValue(e,t),enumerable:!0,configurable:!0})}function bindProperties(e,t,n,r,i=[]){let a=i.includes(`invert-boolean`),o=!1,transfer=(e,t,n,r)=>()=>{if(!o){o=!0;try{let i=e[t];n[r]=a?!i:i}finally{o=!1}}},s=transfer(e,t,n,r),c=[[e,e.connect(`notify::${t}`,s)]];if(i.includes(`bidirectional`)){let i=transfer(n,r,e,t);c.push([n,n.connect(`notify::${r}`,i)])}return i.includes(`sync-create`)&&s(),{unbind(){for(let[e,t]of c.splice(0))e.disconnect(t)}}}function createClosure(e,t,n,r){let i=r??e;if(n)throw new UnsupportedGObjectError(`swapped`,`Unsupported template signal flag "swapped"`);let a=e[t];if(a===void 0)throw Error(`A handler called ${t} was not defined on ${String(e)}`);return a.bind(i)}function scopeOf(e){let t=engineOf(e);return{instance:e,handler:(t,n)=>createClosure(e,t,n?.flags?.includes(`swapped`)??!1,n?.object),bind:(e,n,r,i,a)=>t.bind(e,n,r,i,a??[])}}function constructRegistered(e,t={}){let n=chainOfInstance(e),r={},i=new Map;for(let[e,a]of Object.entries(t)){let t=findProperty(n,e);t?i.set(t,a):r[e]=a}let a=[];for(let t of[...n].reverse())t.template&&a.push([t,t.door.createFromTree(t.template,scopeOf(e),e)]);for(let t of n)for(let n of t.properties)n.flags&u.CONSTRUCT_ONLY&&defineConstructOnly(e,n,i.has(n)?i.get(n):n.get_default_value());for(let t of[...n].reverse())for(let n of t.properties)n.flags&u.CONSTRUCT&&!(n.flags&u.CONSTRUCT_ONLY)&&(e[n.name]=i.has(n)?i.get(n):n.get_default_value());for(let[t,n]of i)t.flags&(u.CONSTRUCT|u.CONSTRUCT_ONLY)||(e[t.name]=n);for(let[t,n]of a){for(let r of t.internalChildren){let i=n.objects[r];if(i===void 0)throw Error(`Template of ${t.typeName} has no child object '${r}' for InternalChildren`);e[`_${r.replace(/-/g,`_`)}`]=i}t.door.attach(e,n)}return r}const own=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),S=Symbol(`GIR type`),C={"Gio.Application":[`vfunc_startup`,`vfunc_activate`],"GtkSource.GutterRenderer":[`vfunc_query_data`]};function unlockedVfuncsOf(e){let t=new Set;for(let n=e;typeof n==`function`;n=Object.getPrototypeOf(n)){let e=own(n,S)?n[S]:void 0;if(typeof e==`string`)for(let n of C[e]??[])t.add(n)}return t}function refusal(e,t,n=``){return new UnsupportedGObjectError(t,`GObject.registerClass: ${e} uses '${t}'${n}, which is outside the GObject subset (ADR 0096 § 2).`)}function describeType(e){return e?.name?.toString()??String(e)}let w=0;function registerWith(e,t,n){let r=n.length===2?n[1]:n[0];if(typeof r!=`function`)throw TypeError(`GObject.registerClass() needs a class`);let i=r,a=i.name||`anonymous class`;if(n.length===2){let e=n[0];for(let t of Object.keys(e))if(!own(p,t))throw refusal(a,t);for(let[t,n]of Object.entries(p))t in e&&(i[n]=e[t])}for(let[e,t]of Object.entries(m))if(own(i,t))throw refusal(a,e);let o=unlockedVfuncsOf(i);for(let e of[i,i.prototype])for(let t of Object.getOwnPropertyNames(e))if(t.startsWith(`vfunc_`)&&typeof Object.getOwnPropertyDescriptor(e,t)?.value==`function`&&!o.has(t))throw refusal(a,t,` (a virtual function override that UNLOCKED_VFUNCS does not list, ADR 0098 § 1a)`);let declared=e=>own(i,e)?i[e]:void 0,s=declared(f.GTypeName),c=String(s??`Gjs_${i.name||`anonymous_${++w}`}`).replace(/[^a-z0-9+_-]/gi,`_`),u=Object.values(declared(f.properties)??{}).map(e=>{if(!(e instanceof d))throw TypeError(`GObject.registerClass: ${a} declares a property that is not a ParamSpec`);return e}),g={};for(let[e,t]of Object.entries(declared(f.signals)??{})){for(let n of Object.keys(t))if(n!==`param_types`)throw refusal(a,`Signals.${e}.${n}`);let n=t.param_types??[];for(let t of n)if(!l.includes(t))throw refusal(a,`Signals.${e}.param_types`,` with the type '${describeType(t)}' (only TYPE_STRING, TYPE_BOOLEAN, TYPE_INT, TYPE_UINT and TYPE_DOUBLE)`);g[e]=n}let _=declared(f.template);if(_!==void 0&&(typeof _!=`object`||!_))throw new UnsupportedGObjectError(`Template`,`GObject.registerClass: ${a} has a Template that is not a '?template' value; a string, URI or bytes stay GJS-only (ADR 0096 § 4).`);let v=makeType(c),y={klass:i,typeName:c,gtype:v,properties:u,signals:g,template:_,internalChildren:declared(f.internalChildren)??[],cssName:declared(f.cssName),door:e,engine:t};Object.defineProperty(i,"$gtype",{get:()=>v,enumerable:!1,configurable:!1});for(let e of u)checkAccessors(i.prototype,e);return installInstanceApi(i.prototype),h.set(i,y),t.register(y),e.register(y.klass,y),y.klass}function registerBaseClass(e,t,n,r=[],i=_){let missing=e=>{throw Error(`No signal '${e}' on object '${t}'`)},a=makeType(t);Object.defineProperty(e,"$gtype",{get:()=>a,enumerable:!1,configurable:!1});for(let t of r)checkAccessors(e.prototype,t);let o={klass:e,typeName:t,gtype:a,properties:r,signals:n,internalChildren:[],engine:i,door:{name:t,dispatch:(e,t)=>missing(t),listen:(e,t)=>missing(t),createFromTree:()=>missing(`template`),attach(){},register(){}}};h.set(e,o),i.register(o)}var GObjectObject=class{constructor(e){let t=constructRegistered(this,e),n=Object.keys(t)[0];if(n!==void 0)throw Error(`No property ${n} on ${typeNameOf(this,chainOfInstance(this))}`)}notify(e){notifyInstance(this,e)}connect(e,t){return connectInstance(this,e,t)}disconnect(e){disconnectInstance(this,e)}emit(e,...t){emitInstance(this,e,...t)}};function installInstanceApi(e){for(let t of[`notify`,`connect`,`disconnect`,`emit`])typeof e[t]!=`function`&&Object.defineProperty(e,t,{value:GObjectObject.prototype[t],writable:!0,configurable:!0,enumerable:!1})}function createGObject(e,t=_){return{engineName:t.name,Object:GObjectObject,registerClass:((...n)=>registerWith(e,t,n)),ParamSpec:d,ParamFlags:u,Value,TYPE_STRING:r,TYPE_BOOLEAN:i,TYPE_INT:a,TYPE_UINT:o,TYPE_DOUBLE:s,GTypeName:f.GTypeName,GTypeFlags:f.GTypeFlags,interfaces:f.interfaces,properties:f.properties,signals:f.signals,requires:f.requires,__gtkTemplate__:f.template,__gtkCssName__:f.cssName,__gtkChildren__:f.children,__gtkInternalChildren__:f.internalChildren,type_ensure(e){if(!n.has(e))throw TypeError(`GObject.type_ensure: not a GType of this GObject`)},signal_stop_emission_by_name:stopEmissionByName}}function gobjectEngineName(){return t()?.name??_.name}export{S as GIR_TYPE,GObjectObject,f as META_SYMBOLS,_ as PURE_JS_ENGINE,u as ParamFlags,d as ParamSpec,x as STOP_EMISSION,i as TYPE_BOOLEAN,s as TYPE_DOUBLE,a as TYPE_INT,r as TYPE_STRING,o as TYPE_UINT,C as UNLOCKED_VFUNCS,UnsupportedGObjectError,Value,bindProperties,connectInstance,constructRegistered,createClosure,createGObject,disconnectInstance,emitInstance,gobjectEngineName,notifyInstance,readValue,registerBaseClass,registeredClassOf,stopEmissionByName,usePureJsGObjectEngine};