@elmethis/core 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -607,6 +607,652 @@ const blockCatalogJson = assembleCatalog({
607
607
  description: "Block-level A2UI components used by the @elmethis renderers (typography, media, code, math, table, tabs). Extends — does not replace — the A2UI Basic Catalog."
608
608
  }, BLOCK_CATALOG_COMPONENTS);
609
609
  //#endregion
610
+ //#region src/icon/languages/registry.ts
611
+ /**
612
+ * The single source of truth for every language. {@link LANGUAGES},
613
+ * {@link normalizeLanguage}, and {@link languageIcons} are all derived from
614
+ * this array, so a language is declared in exactly one place.
615
+ */
616
+ const LANGUAGE_REGISTRY = [
617
+ {
618
+ key: "rust",
619
+ aliases: ["rs"],
620
+ icon: {
621
+ viewBox: "0 0 128 128",
622
+ attrs: { fill: "#a84f33" },
623
+ children: [{
624
+ tag: "path",
625
+ attrs: { d: "M62.96.242c-.232.135-1.203 1.528-2.16 3.097c-2.4 3.94-2.426 3.942-5.65.55c-2.098-2.208-2.605-2.612-3.28-2.607c-.44.002-.995.152-1.235.332s-.916 1.612-1.504 3.183c-1.346 3.6-1.41 3.715-2.156 3.86c-.46.086-1.343-.407-3.463-1.929c-1.565-1.125-3.1-2.045-3.411-2.045c-1.291 0-1.655.706-2.27 4.4c-.78 4.697-.754 4.681-4.988 2.758c-1.71-.776-3.33-1.41-3.603-1.41s-.792.293-1.15.652c-.652.652-.653.655-.475 4.246l.178 3.595l-.68.364c-.602.322-1.017.283-3.684-.348c-3.48-.822-4.216-.8-4.92.15l-.516.693l.692 2.964c.38 1.63.745 3.2.814 3.487c.067.287-.05.746-.26 1.02c-.348.448-.717.49-3.94.44c-5.452-.086-5.761.382-3.51 5.3c.718 1.56 1.305 2.98 1.305 3.15c0 .898-.717 1.224-3.794 1.727c-1.722.28-3.218.51-3.326.51c-.107 0-.43.235-.717.522c-.937.936-.671 1.816 1.453 4.814c2.646 3.735 2.642 3.75-1.73 5.421c-4.971 1.902-5.072 2.37-1.287 5.96c3.525 3.344 3.53 3.295-.461 5.804C.208 62.8.162 62.846.085 63.876c-.093 1.253-.071 1.275 3.538 3.48c3.57 2.18 3.57 2.246.067 5.56C-.078 76.48.038 77 5.013 78.877c4.347 1.64 4.353 1.66 1.702 5.394c-1.502 2.117-1.981 3-1.981 3.653c0 1.223.637 1.535 4.44 2.174c3.206.54 3.92.857 3.92 1.741c0 .182-.588 1.612-1.307 3.177c-2.236 4.87-1.981 5.275 3.31 5.275c4.93 0 4.799-.15 3.737 4.294c-.8 3.35-.813 3.992-.088 4.715c.554.556 1.6.494 4.87-.289c2.499-.596 2.937-.637 3.516-.328l.66.354l-.177 3.594c-.178 3.593-.177 3.595.475 4.248c.358.36.884.652 1.165.652s1.903-.63 3.604-1.404c4.22-1.916 4.194-1.932 4.973 2.75c.617 3.711.977 4.4 2.294 4.4c.327 0 1.83-.88 3.34-1.958c2.654-1.893 3.342-2.19 4.049-1.74c.182.115.89 1.67 1.572 3.455c1.003 2.625 1.37 3.31 1.929 3.576c1.062.51 1.72.1 4.218-2.62c3.016-3.286 3.14-3.27 5.602.72c2.72 4.406 3.424 4.396 6.212-.089c2.402-3.864 2.374-3.862 5.621-.47c2.157 2.25 2.616 2.61 3.343 2.61c.464 0 1.019-.175 1.23-.388c.214-.213.92-1.786 1.568-3.496c.649-1.71 1.321-3.2 1.495-3.31c.687-.436 1.398-.13 4.048 1.752c1.56 1.108 3.028 1.96 3.377 1.96c1.296 0 1.764-.92 2.302-4.535c.46-3.082.554-3.378 1.16-3.685c.596-.302.954-.2 3.75 1.07c1.701.77 3.323 1.402 3.604 1.402s.816-.302 1.184-.672l.672-.67l-.184-3.448c-.177-3.29-.16-3.468.364-3.943c.54-.488.596-.486 3.615.204c3.656.835 4.338.857 5.025.17c.671-.67.664-.818-.254-4.69c-1.03-4.346-1.168-4.19 3.78-4.19c3.374 0 3.75-.049 4.18-.523c.718-.793.547-1.702-.896-4.779c-.729-1.55-1.32-2.96-1.315-3.135c.024-.914.743-1.227 4.065-1.767c2.033-.329 3.553-.71 3.829-.96c.923-.833.584-1.918-1.523-4.873c-2.642-3.703-2.63-3.738 1.599-5.297c5.064-1.866 5.209-2.488 1.419-6.09c-3.51-3.335-3.512-3.317.333-5.677c4.648-2.853 4.655-3.496.082-6.335c-3.933-2.44-3.93-2.406-.405-5.753c3.78-3.593 3.678-4.063-1.295-5.965c-4.388-1.679-4.402-1.72-1.735-5.38c1.588-2.18 1.982-2.903 1.982-3.65c0-1.306-.586-1.598-4.436-2.22c-3.216-.52-3.924-.835-3.924-1.75c0-.174.588-1.574 1.307-3.113c1.406-3.013 1.604-4.22.808-4.94c-.428-.387-1-.443-4.067-.392c-3.208.054-3.618.008-4.063-.439c-.486-.488-.48-.557.278-3.725c.931-3.88.935-3.975.17-4.694c-.777-.73-1.262-.718-4.826.121c-2.597.612-3.027.653-3.617.337l-.67-.36l.185-3.582l.186-3.58l-.67-.67c-.369-.37-.891-.67-1.163-.67c-.27 0-1.884.64-3.583 1.421c-2.838 1.306-3.143 1.393-3.757 1.072c-.612-.32-.714-.637-1.237-3.829c-.603-3.693-.977-4.412-2.288-4.412c-.311 0-1.853.925-3.426 2.055c-2.584 1.856-2.93 2.032-3.574 1.807c-.533-.186-.843-.59-1.221-1.599c-.28-.742-.817-2.172-1.194-3.177c-.762-2.028-1.187-2.482-2.328-2.482c-.637 0-1.213.458-3.28 2.604c-3.25 3.375-3.261 3.374-5.65-.545C66.073 1.78 65.075.382 64.81.24c-.597-.32-1.3-.32-1.85.002m2.96 11.798c2.83 2.014 1.326 6.75-2.144 6.75c-3.368 0-5.064-4.057-2.66-6.36c1.358-1.3 3.304-1.459 4.805-.39m-3.558 12.507c1.855.705 2.616.282 6.852-3.8l3.182-3.07l1.347.18c4.225.56 12.627 4.25 17.455 7.666c4.436 3.14 10.332 9.534 12.845 13.93l.537.942l-2.38 5.364c-1.31 2.95-2.382 5.673-2.382 6.053c0 .878.576 2.267 1.13 2.726c.234.195 2.457 1.265 4.939 2.378l4.51 2.025l.178 1.148c.23 1.495.26 5.167.052 6.21l-.163.816h-2.575c-2.987 0-2.756-.267-2.918 3.396c-.118 2.656-.76 4.124-2.22 5.075c-2.377 1.551-6.304 1.27-7.97-.57c-.255-.284-.752-1.705-1.105-3.16c-1.03-4.254-2.413-6.64-5.193-8.965c-.878-.733-1.595-1.418-1.595-1.522c0-.102.965-.915 2.145-1.803c4.298-3.24 6.77-7.012 7.04-10.747c.519-7.126-5.158-13.767-13.602-15.92c-2.002-.51-2.857-.526-27.624-.526c-14.057 0-25.56-.092-25.56-.204c0-.263 3.125-3.295 4.965-4.816c5.054-4.178 11.618-7.465 18.417-9.22l2.35-.61l3.34 3.387c1.839 1.863 3.64 3.5 4.003 3.637M20.3 46.34c1.539 1.008 2.17 3.54 1.26 5.062c-1.405 2.356-4.966 2.455-6.373.178c-2.046-3.309 1.895-7.349 5.113-5.24m90.672.13c4.026 2.454.906 8.493-3.404 6.586c-2.877-1.273-2.97-5.206-.155-6.64c1.174-.6 2.523-.579 3.56.053M32.163 61.5v15.02h-13.28l-.526-2.285c-1.036-4.5-1.472-9.156-1.211-12.969l.182-2.679l4.565-2.047c2.864-1.283 4.706-2.262 4.943-2.625c1.038-1.584.94-2.715-.518-5.933l-.68-1.502h6.523V61.5M70.39 47.132c2.843.74 4.345 2.245 4.349 4.355c.002 1.55-.765 2.52-2.67 3.38c-1.348.61-1.562.625-10.063.708l-8.686.084v-8.92h7.782c6.078 0 8.112.086 9.288.393m-2.934 21.554c1.41.392 3.076 1.616 3.93 2.888c.898 1.337 1.423 3.076 2.667 8.836c1.05 4.87 1.727 6.46 3.62 8.532c2.345 2.566 1.8 2.466 13.514 2.466c5.61 0 10.198.09 10.198.2c0 .197-3.863 4.764-4.03 4.764c-.048 0-2.066-.422-4.484-.939c-6.829-1.458-7.075-1.287-8.642 6.032l-1.008 4.702l-.91.448c-1.518.75-6.453 2.292-9.01 2.82c-4.228.87-8.828 1.162-12.871.821c-6.893-.585-16.02-3.259-16.377-4.8c-.075-.327-.535-2.443-1.018-4.704c-.485-2.26-1.074-4.404-1.31-4.764c-1.13-1.724-2.318-1.83-7.547-.674c-1.98.44-3.708.796-3.84.796c-.248 0-3.923-4.249-3.923-4.535c0-.09 8.728-.194 19.396-.23l19.395-.066l.07-6.89c.05-4.865-.018-6.997-.23-7.25c-.234-.284-1.485-.358-6.011-.358H53.32v-8.36l6.597.001c3.626.002 7.02.12 7.539.264M37.57 100.02c3.084 1.88 1.605 6.804-2.043 6.8c-3.74 0-5.127-4.88-1.94-6.826c1.055-.643 2.908-.63 3.983.026m56.48.206c1.512 1.108 2.015 3.413 1.079 4.95c-2.46 4.034-8.612.827-6.557-3.419c1.01-2.085 3.695-2.837 5.478-1.53" }
626
+ }]
627
+ }
628
+ },
629
+ {
630
+ key: "javascript",
631
+ aliases: ["js"],
632
+ icon: {
633
+ viewBox: "0 0 128 128",
634
+ children: [{
635
+ tag: "path",
636
+ attrs: {
637
+ fill: "#f0db4f",
638
+ d: "M1.408 1.408h125.184v125.185H1.408z"
639
+ }
640
+ }, {
641
+ tag: "path",
642
+ attrs: {
643
+ fill: "#323330",
644
+ d: "M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981c-3.832-1.761-8.104-3.022-9.377-5.926c-.452-1.69-.512-2.642-.226-3.665c.821-3.32 4.784-4.355 7.925-3.403c2.023.678 3.938 2.237 5.093 4.724c5.402-3.498 5.391-3.475 9.163-5.879c-1.381-2.141-2.118-3.129-3.022-4.045c-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235c-5.926 6.724-4.236 18.492 2.975 23.335c7.104 5.332 17.54 6.545 18.873 11.531c1.297 6.104-4.486 8.08-10.234 7.378c-4.236-.881-6.592-3.034-9.139-6.949c-4.688 2.713-4.688 2.713-9.508 5.485c1.143 2.499 2.344 3.63 4.26 5.795c9.068 9.198 31.76 8.746 35.83-5.176c.165-.478 1.261-3.666.38-8.581M69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149c-1.713 3.558-6.152 3.117-8.175 2.427c-2.059-1.012-3.106-2.451-4.319-4.485c-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901c4.462 2.678 10.459 3.499 16.731 2.059c4.082-1.189 7.604-3.652 9.448-7.401c2.666-4.915 2.094-10.864 2.07-17.444c.06-10.735.001-21.468.001-32.237"
645
+ }
646
+ }]
647
+ }
648
+ },
649
+ {
650
+ key: "typescript",
651
+ aliases: ["ts"],
652
+ icon: {
653
+ viewBox: "0 0 128 128",
654
+ children: [{
655
+ tag: "path",
656
+ attrs: {
657
+ fill: "#fff",
658
+ d: "M22.67 47h99.67v73.67H22.67z"
659
+ }
660
+ }, {
661
+ tag: "path",
662
+ attrs: {
663
+ fill: "#007acc",
664
+ d: "M1.5 63.91v62.5h125v-125H1.5zm100.73-5a15.56 15.56 0 0 1 7.82 4.5a20.6 20.6 0 0 1 3 4c0 .16-5.4 3.81-8.69 5.85c-.12.08-.6-.44-1.13-1.23a7.09 7.09 0 0 0-5.87-3.53c-3.79-.26-6.23 1.73-6.21 5a4.6 4.6 0 0 0 .54 2.34c.83 1.73 2.38 2.76 7.24 4.86c8.95 3.85 12.78 6.39 15.16 10c2.66 4 3.25 10.46 1.45 15.24c-2 5.2-6.9 8.73-13.83 9.9a38.3 38.3 0 0 1-9.52-.1a23 23 0 0 1-12.72-6.63c-1.15-1.27-3.39-4.58-3.25-4.82a9 9 0 0 1 1.15-.73L82 101l3.59-2.08l.75 1.11a16.8 16.8 0 0 0 4.74 4.54c4 2.1 9.46 1.81 12.16-.62a5.43 5.43 0 0 0 .69-6.92c-1-1.39-3-2.56-8.59-5c-6.45-2.78-9.23-4.5-11.77-7.24a16.5 16.5 0 0 1-3.43-6.25a25 25 0 0 1-.22-8c1.33-6.23 6-10.58 12.82-11.87a31.7 31.7 0 0 1 9.49.26zm-29.34 5.24v5.12H56.66v46.23H45.15V69.26H28.88v-5a49 49 0 0 1 .12-5.17C29.08 59 39 59 51 59h21.83z"
665
+ }
666
+ }]
667
+ }
668
+ },
669
+ {
670
+ key: "shell",
671
+ aliases: ["bash", "sh"],
672
+ icon: {
673
+ viewBox: "0 0 128 128",
674
+ children: [
675
+ {
676
+ tag: "path",
677
+ attrs: {
678
+ fill: "none",
679
+ d: "M4.24 4.24h119.53v119.53H4.24z"
680
+ }
681
+ },
682
+ {
683
+ tag: "path",
684
+ attrs: { d: "M109.01 28.64L71.28 6.24c-2.25-1.33-4.77-2-7.28-2s-5.03.67-7.28 2.01l-37.74 22.4c-4.5 2.67-7.28 7.61-7.28 12.96v44.8c0 5.35 2.77 10.29 7.28 12.96l37.73 22.4c2.25 1.34 4.76 2 7.28 2c2.51 0 5.03-.67 7.28-2l37.74-22.4c4.5-2.67 7.28-7.62 7.28-12.96V41.6c0-5.34-2.77-10.29-7.28-12.96M79.79 98.59l.06 3.22c0 .39-.25.83-.55.99l-1.91 1.1c-.3.15-.56-.03-.56-.42l-.03-3.17c-1.63.68-3.29.84-4.34.42c-.2-.08-.29-.37-.21-.71l.69-2.91c.06-.23.18-.46.34-.6c.06-.06.12-.1.18-.13c.11-.06.22-.07.31-.03c1.14.38 2.59.2 3.99-.5c1.78-.9 2.97-2.72 2.95-4.52c-.02-1.64-.9-2.31-3.05-2.33c-2.74.01-5.3-.53-5.34-4.57c-.03-3.32 1.69-6.78 4.43-8.96l-.03-3.25c0-.4.24-.84.55-1l1.85-1.18c.3-.15.56.04.56.43l.03 3.25c1.36-.54 2.54-.69 3.61-.44c.23.06.34.38.24.75l-.72 2.88c-.06.22-.18.44-.33.58a.8.8 0 0 1-.19.14c-.1.05-.19.06-.28.05c-.49-.11-1.65-.36-3.48.56c-1.92.97-2.59 2.64-2.58 3.88c.02 1.48.77 1.93 3.39 1.97c3.49.06 4.99 1.58 5.03 5.09c.05 3.44-1.79 7.15-4.61 9.41m26.34-60.5l-35.7 22.05c-4.45 2.6-7.73 5.52-7.74 10.89v43.99c0 3.21 1.3 5.29 3.29 5.9c-.65.11-1.32.19-1.98.19c-2.09 0-4.15-.57-5.96-1.64l-37.73-22.4c-3.69-2.19-5.98-6.28-5.98-10.67V41.6c0-4.39 2.29-8.48 5.98-10.67l37.74-22.4c1.81-1.07 3.87-1.64 5.96-1.64s4.15.57 5.96 1.64l37.74 22.4c3.11 1.85 5.21 5.04 5.8 8.63c-1.27-2.67-4.09-3.39-7.38-1.47" },
685
+ style: { fill: "light-dark(#293138, #d2dbe3)" }
686
+ },
687
+ {
688
+ tag: "path",
689
+ attrs: {
690
+ fill: "#4fa847",
691
+ d: "m99.12 90.73l-9.4 5.62c-.25.15-.43.31-.43.61v2.46c0 .3.2.43.45.28l9.54-5.8c.25-.15.29-.42.29-.72v-2.17c0-.3-.2-.42-.45-.28"
692
+ }
693
+ }
694
+ ]
695
+ }
696
+ },
697
+ {
698
+ key: "terraform",
699
+ aliases: ["tf", "hcl"],
700
+ icon: {
701
+ viewBox: "0 0 128 128",
702
+ children: [{
703
+ tag: "g",
704
+ attrs: { "fill-rule": "evenodd" },
705
+ children: [
706
+ {
707
+ tag: "path",
708
+ attrs: {
709
+ fill: "#5c4ee5",
710
+ d: "M77.941 44.5v36.836L46.324 62.918V26.082zm0 0"
711
+ }
712
+ },
713
+ {
714
+ tag: "path",
715
+ attrs: {
716
+ fill: "#4040b2",
717
+ d: "m81.41 81.336l31.633-18.418V26.082L81.41 44.5zm0 0"
718
+ }
719
+ },
720
+ {
721
+ tag: "path",
722
+ attrs: {
723
+ fill: "#5c4ee5",
724
+ d: "M11.242 42.36L42.86 60.776V23.941L11.242 5.523zm66.699 43.015L46.324 66.957v36.82l31.617 18.418zm0 0"
725
+ }
726
+ }
727
+ ]
728
+ }]
729
+ }
730
+ },
731
+ {
732
+ key: "html",
733
+ aliases: ["html5"],
734
+ icon: {
735
+ viewBox: "0 0 128 128",
736
+ children: [
737
+ {
738
+ tag: "path",
739
+ attrs: {
740
+ fill: "#e44d26",
741
+ d: "M19.037 113.876L9.032 1.661h109.936l-10.016 112.198l-45.019 12.48z"
742
+ }
743
+ },
744
+ {
745
+ tag: "path",
746
+ attrs: {
747
+ fill: "#f16529",
748
+ d: "m64 116.8l36.378-10.086l8.559-95.878H64z"
749
+ }
750
+ },
751
+ {
752
+ tag: "path",
753
+ attrs: {
754
+ fill: "#ebebeb",
755
+ d: "M64 52.455H45.788L44.53 38.361H64V24.599H29.489l.33 3.692l3.382 37.927H64zm0 35.743l-.061.017l-15.327-4.14l-.979-10.975H33.816l1.928 21.609l28.193 7.826l.063-.017z"
756
+ }
757
+ },
758
+ {
759
+ tag: "path",
760
+ attrs: {
761
+ fill: "#fff",
762
+ d: "M63.952 52.455v13.763h16.947l-1.597 17.849l-15.35 4.143v14.319l28.215-7.82l.207-2.325l3.234-36.233l.335-3.696h-3.708zm0-27.856v13.762h33.244l.276-3.092l.628-6.978l.329-3.692z"
763
+ }
764
+ }
765
+ ]
766
+ }
767
+ },
768
+ {
769
+ key: "css",
770
+ aliases: ["css3"],
771
+ icon: {
772
+ viewBox: "0 0 24 24",
773
+ children: [{
774
+ tag: "path",
775
+ attrs: {
776
+ fill: "#3f9de9",
777
+ d: "m5 3l-.65 3.34h13.59L17.5 8.5H3.92l-.66 3.33h13.59l-.76 3.81l-5.48 1.81l-4.75-1.81l.33-1.64H2.85l-.79 4l7.85 3l9.05-3l1.2-6.03l.24-1.21L21.94 3z"
778
+ }
779
+ }]
780
+ }
781
+ },
782
+ {
783
+ key: "npm",
784
+ aliases: [],
785
+ icon: {
786
+ viewBox: "0 0 128 128",
787
+ children: [{
788
+ tag: "path",
789
+ attrs: {
790
+ fill: "#cb3837",
791
+ d: "M0 7.062C0 3.225 3.225 0 7.062 0h113.88c3.838 0 7.063 3.225 7.063 7.062v113.88c0 3.838-3.225 7.063-7.063 7.063H7.062c-3.837 0-7.062-3.225-7.062-7.063zm23.69 97.518h40.395l.05-58.532h19.494l-.05 58.581h19.543l.05-78.075l-78.075-.1l-.1 78.126z"
792
+ }
793
+ }, {
794
+ tag: "path",
795
+ attrs: {
796
+ fill: "#fff",
797
+ d: "M25.105 65.52V26.512H40.96c8.72 0 26.274.034 39.008.075l23.153.075v77.866H83.645v-58.54H64.057v58.54H25.105z"
798
+ }
799
+ }]
800
+ }
801
+ },
802
+ {
803
+ key: "java",
804
+ aliases: [],
805
+ icon: {
806
+ viewBox: "0 0 128 128",
807
+ children: [
808
+ {
809
+ tag: "path",
810
+ attrs: {
811
+ fill: "#0074bd",
812
+ d: "M47.617 98.12s-4.767 2.774 3.397 3.71c9.892 1.13 14.947.968 25.845-1.092c0 0 2.871 1.795 6.873 3.351c-24.439 10.47-55.308-.607-36.115-5.969m-2.988-13.665s-5.348 3.959 2.823 4.805c10.567 1.091 18.91 1.18 33.354-1.6c0 0 1.993 2.025 5.132 3.131c-29.542 8.64-62.446.68-41.309-6.336"
813
+ }
814
+ },
815
+ {
816
+ tag: "path",
817
+ attrs: {
818
+ fill: "#ea2d2e",
819
+ d: "M69.802 61.271c6.025 6.935-1.58 13.17-1.58 13.17s15.289-7.891 8.269-17.777c-6.559-9.215-11.587-13.792 15.635-29.58c0 .001-42.731 10.67-22.324 34.187"
820
+ }
821
+ },
822
+ {
823
+ tag: "path",
824
+ attrs: {
825
+ fill: "#0074bd",
826
+ d: "M102.123 108.229s3.529 2.91-3.888 5.159c-14.102 4.272-58.706 5.56-71.094.171c-4.451-1.938 3.899-4.625 6.526-5.192c2.739-.593 4.303-.485 4.303-.485c-4.953-3.487-32.013 6.85-13.743 9.815c49.821 8.076 90.817-3.637 77.896-9.468M49.912 70.294s-22.686 5.389-8.033 7.348c6.188.828 18.518.638 30.011-.326c9.39-.789 18.813-2.474 18.813-2.474s-3.308 1.419-5.704 3.053c-23.042 6.061-67.544 3.238-54.731-2.958c10.832-5.239 19.644-4.643 19.644-4.643m40.697 22.747c23.421-12.167 12.591-23.86 5.032-22.285c-1.848.385-2.677.72-2.677.72s.688-1.079 2-1.543c14.953-5.255 26.451 15.503-4.823 23.725c0-.002.359-.327.468-.617"
827
+ }
828
+ },
829
+ {
830
+ tag: "path",
831
+ attrs: {
832
+ fill: "#ea2d2e",
833
+ d: "M76.491 1.587S89.459 14.563 64.188 34.51c-20.266 16.006-4.621 25.13-.007 35.559c-11.831-10.673-20.509-20.07-14.688-28.815C58.041 28.42 81.722 22.195 76.491 1.587"
834
+ }
835
+ },
836
+ {
837
+ tag: "path",
838
+ attrs: {
839
+ fill: "#0074bd",
840
+ d: "M52.214 126.021c22.476 1.437 57-.8 57.817-11.436c0 0-1.571 4.032-18.577 7.231c-19.186 3.612-42.854 3.191-56.887.874c0 .001 2.875 2.381 17.647 3.331"
841
+ }
842
+ }
843
+ ]
844
+ }
845
+ },
846
+ {
847
+ key: "kotlin",
848
+ aliases: ["kt"],
849
+ icon: {
850
+ viewBox: "0 0 128 128",
851
+ children: [{
852
+ tag: "defs",
853
+ children: [{
854
+ tag: "linearGradient",
855
+ attrs: {
856
+ id: "deviconKotlin0",
857
+ x1: "500.003",
858
+ x2: "-.097",
859
+ y1: "579.106",
860
+ y2: "1079.206",
861
+ gradientTransform: "translate(15.534 -96.774)scale(.1939)",
862
+ gradientUnits: "userSpaceOnUse"
863
+ },
864
+ children: [
865
+ {
866
+ tag: "stop",
867
+ attrs: {
868
+ offset: ".003",
869
+ "stop-color": "#e44857"
870
+ }
871
+ },
872
+ {
873
+ tag: "stop",
874
+ attrs: {
875
+ offset: ".469",
876
+ "stop-color": "#c711e1"
877
+ }
878
+ },
879
+ {
880
+ tag: "stop",
881
+ attrs: {
882
+ offset: "1",
883
+ "stop-color": "#7f52ff"
884
+ }
885
+ }
886
+ ]
887
+ }]
888
+ }, {
889
+ tag: "path",
890
+ attrs: {
891
+ fill: "url(#deviconKotlin0)",
892
+ d: "M112.484 112.484H15.516V15.516h96.968L64 64Zm0 0"
893
+ }
894
+ }]
895
+ }
896
+ },
897
+ {
898
+ key: "go",
899
+ aliases: ["golang"],
900
+ icon: {
901
+ viewBox: "0 0 128 128",
902
+ children: [{
903
+ tag: "g",
904
+ attrs: {
905
+ fill: "#00acd7",
906
+ "fill-rule": "evenodd"
907
+ },
908
+ children: [{
909
+ tag: "path",
910
+ attrs: { d: "M11.156 54.829c-.243 0-.303-.122-.182-.303l1.273-1.637c.12-.182.424-.303.666-.303H34.55c.243 0 .303.182.182.364l-1.03 1.576c-.121.181-.424.363-.606.363zm-9.152 5.575c-.242 0-.303-.12-.182-.303l1.273-1.636c.121-.182.424-.303.667-.303h27.636c.242 0 .364.182.303.364l-.485 1.454c-.06.243-.303.364-.545.364zM16.67 65.98c-.242 0-.302-.182-.181-.364l.848-1.515c.122-.182.364-.363.607-.363h12.12c.243 0 .364.181.364.424l-.12 1.454c0 .243-.243.425-.425.425zm62.91-12.242c-3.819.97-6.425 1.697-10.182 2.666c-.91.243-.97.303-1.758-.606c-.909-1.03-1.576-1.697-2.848-2.303c-3.819-1.878-7.516-1.333-10.97.91c-4.121 2.666-6.242 6.605-6.182 11.514c.06 4.849 3.394 8.849 8.182 9.516c4.121.545 7.576-.91 10.303-4c.545-.667 1.03-1.394 1.636-2.243H56.064c-1.272 0-1.575-.788-1.151-1.818c.788-1.879 2.242-5.03 3.09-6.606c.183-.364.607-.97 1.516-.97h22.06c-.12 1.637-.12 3.273-.363 4.91c-.667 4.363-2.303 8.363-4.97 11.878c-4.364 5.758-10.06 9.333-17.273 10.303c-5.939.788-11.454-.364-16.302-4c-4.485-3.394-7.03-7.879-7.697-13.454c-.788-6.606 1.151-12.546 5.151-17.758c4.303-5.636 10-9.212 16.97-10.485c5.697-1.03 11.151-.363 16.06 2.97c3.212 2.121 5.515 5.03 7.03 8.545c.364.546.122.849-.606 1.03z" }
911
+ }, {
912
+ tag: "path",
913
+ attrs: {
914
+ "fill-rule": "nonzero",
915
+ d: "M99.64 87.253c-5.515-.122-10.546-1.697-14.788-5.334c-3.576-3.09-5.818-7.03-6.545-11.697c-1.091-6.848.787-12.909 4.909-18.302c4.424-5.819 9.757-8.849 16.97-10.122c6.181-1.09 12-.484 17.272 3.091c4.788 3.273 7.757 7.697 8.545 13.515c1.03 8.182-1.333 14.849-6.97 20.546c-4 4.06-8.909 6.606-14.545 7.757c-1.636.303-3.273.364-4.848.546m14.424-24.485c-.06-.788-.06-1.394-.182-2c-1.09-6-6.606-9.394-12.363-8.06c-5.637 1.272-9.273 4.848-10.606 10.545c-1.091 4.727 1.212 9.515 5.575 11.454c3.334 1.455 6.667 1.273 9.879-.363c4.788-2.485 7.394-6.364 7.697-11.576"
916
+ }
917
+ }]
918
+ }]
919
+ }
920
+ },
921
+ {
922
+ key: "python",
923
+ aliases: ["py"],
924
+ icon: {
925
+ viewBox: "0 0 128 128",
926
+ children: [
927
+ {
928
+ tag: "linearGradient",
929
+ attrs: {
930
+ id: "deviconPython0",
931
+ x1: "70.252",
932
+ x2: "170.659",
933
+ y1: "1237.476",
934
+ y2: "1151.089",
935
+ gradientTransform: "matrix(.563 0 0 -.568 -29.215 707.817)",
936
+ gradientUnits: "userSpaceOnUse"
937
+ },
938
+ children: [{
939
+ tag: "stop",
940
+ attrs: {
941
+ offset: "0",
942
+ "stop-color": "#5a9fd4"
943
+ }
944
+ }, {
945
+ tag: "stop",
946
+ attrs: {
947
+ offset: "1",
948
+ "stop-color": "#306998"
949
+ }
950
+ }]
951
+ },
952
+ {
953
+ tag: "linearGradient",
954
+ attrs: {
955
+ id: "deviconPython1",
956
+ x1: "209.474",
957
+ x2: "173.62",
958
+ y1: "1098.811",
959
+ y2: "1149.537",
960
+ gradientTransform: "matrix(.563 0 0 -.568 -29.215 707.817)",
961
+ gradientUnits: "userSpaceOnUse"
962
+ },
963
+ children: [{
964
+ tag: "stop",
965
+ attrs: {
966
+ offset: "0",
967
+ "stop-color": "#ffd43b"
968
+ }
969
+ }, {
970
+ tag: "stop",
971
+ attrs: {
972
+ offset: "1",
973
+ "stop-color": "#ffe873"
974
+ }
975
+ }]
976
+ },
977
+ {
978
+ tag: "path",
979
+ attrs: {
980
+ fill: "url(#deviconPython0)",
981
+ d: "M63.391 1.988c-4.222.02-8.252.379-11.8 1.007c-10.45 1.846-12.346 5.71-12.346 12.837v9.411h24.693v3.137H29.977c-7.176 0-13.46 4.313-15.426 12.521c-2.268 9.405-2.368 15.275 0 25.096c1.755 7.311 5.947 12.519 13.124 12.519h8.491V67.234c0-8.151 7.051-15.34 15.426-15.34h24.665c6.866 0 12.346-5.654 12.346-12.548V15.833c0-6.693-5.646-11.72-12.346-12.837c-4.244-.706-8.645-1.027-12.866-1.008M50.037 9.557c2.55 0 4.634 2.117 4.634 4.721c0 2.593-2.083 4.69-4.634 4.69c-2.56 0-4.633-2.097-4.633-4.69c-.001-2.604 2.073-4.721 4.633-4.721",
982
+ transform: "translate(0 10.26)"
983
+ }
984
+ },
985
+ {
986
+ tag: "path",
987
+ attrs: {
988
+ fill: "url(#deviconPython1)",
989
+ d: "M91.682 28.38v10.966c0 8.5-7.208 15.655-15.426 15.655H51.591c-6.756 0-12.346 5.783-12.346 12.549v23.515c0 6.691 5.818 10.628 12.346 12.547c7.816 2.297 15.312 2.713 24.665 0c6.216-1.801 12.346-5.423 12.346-12.547v-9.412H63.938v-3.138h37.012c7.176 0 9.852-5.005 12.348-12.519c2.578-7.735 2.467-15.174 0-25.096c-1.774-7.145-5.161-12.521-12.348-12.521h-9.268zM77.809 87.927c2.561 0 4.634 2.097 4.634 4.692c0 2.602-2.074 4.719-4.634 4.719c-2.55 0-4.633-2.117-4.633-4.719c0-2.595 2.083-4.692 4.633-4.692",
990
+ transform: "translate(0 10.26)"
991
+ }
992
+ },
993
+ {
994
+ tag: "radialGradient",
995
+ attrs: {
996
+ id: "deviconPython2",
997
+ cx: "1825.678",
998
+ cy: "444.45",
999
+ r: "26.743",
1000
+ gradientTransform: "matrix(0 -.24 -1.055 0 532.979 557.576)",
1001
+ gradientUnits: "userSpaceOnUse"
1002
+ },
1003
+ children: [{
1004
+ tag: "stop",
1005
+ attrs: {
1006
+ offset: "0",
1007
+ "stop-color": "#b8b8b8",
1008
+ "stop-opacity": "0.498"
1009
+ }
1010
+ }, {
1011
+ tag: "stop",
1012
+ attrs: {
1013
+ offset: "1",
1014
+ "stop-color": "#7f7f7f",
1015
+ "stop-opacity": "0"
1016
+ }
1017
+ }]
1018
+ },
1019
+ {
1020
+ tag: "path",
1021
+ attrs: {
1022
+ fill: "url(#deviconPython2)",
1023
+ d: "M97.309 119.597c0 3.543-14.816 6.416-33.091 6.416c-18.276 0-33.092-2.873-33.092-6.416s14.815-6.417 33.092-6.417c18.275 0 33.091 2.872 33.091 6.417",
1024
+ opacity: "0.444"
1025
+ }
1026
+ }
1027
+ ]
1028
+ }
1029
+ },
1030
+ {
1031
+ key: "sql",
1032
+ aliases: [],
1033
+ icon: {
1034
+ viewBox: "0 0 128 128",
1035
+ children: [{
1036
+ tag: "path",
1037
+ attrs: {
1038
+ fill: "#00618a",
1039
+ d: "M117.688 98.242c-6.973-.191-12.297.461-16.852 2.379c-1.293.547-3.355.559-3.566 2.18c.711.746.82 1.859 1.387 2.777c1.086 1.754 2.922 4.113 4.559 5.352c1.789 1.348 3.633 2.793 5.551 3.961c3.414 2.082 7.223 3.27 10.504 5.352c1.938 1.23 3.859 2.777 5.75 4.164c.934.684 1.563 1.75 2.773 2.18v-.195c-.637-.812-.801-1.93-1.387-2.777l-2.578-2.578c-2.52-3.344-5.719-6.281-9.117-8.719c-2.711-1.949-8.781-4.578-9.91-7.73l-.199-.199c1.922-.219 4.172-.914 5.949-1.391c2.98-.797 5.645-.59 8.719-1.387l4.164-1.187v-.793c-1.555-1.594-2.664-3.707-4.359-5.152c-4.441-3.781-9.285-7.555-14.273-10.703c-2.766-1.746-6.184-2.883-9.117-4.363c-.988-.496-2.719-.758-3.371-1.586c-1.539-1.961-2.379-4.449-3.566-6.738c-2.488-4.793-4.93-10.023-7.137-15.066c-1.504-3.437-2.484-6.828-4.359-9.91c-9-14.797-18.687-23.73-33.695-32.508c-3.195-1.867-7.039-2.605-11.102-3.57l-6.543-.395c-1.332-.555-2.715-2.184-3.965-2.977C16.977 3.52 4.223-3.312.539 5.672C-1.785 11.34 4.016 16.871 6.09 19.746c1.457 2.012 3.32 4.273 4.359 6.539c.688 1.492.805 2.984 1.391 4.559c1.438 3.883 2.695 8.109 4.559 11.695c.941 1.816 1.98 3.727 3.172 5.352c.727.996 1.98 1.438 2.18 2.973c-1.227 1.715-1.297 4.375-1.984 6.543c-3.098 9.77-1.926 21.91 2.578 29.137c1.383 2.223 4.641 6.98 9.117 5.156c3.918-1.598 3.043-6.539 4.164-10.902c.254-.988.098-1.715.594-2.379v.199l3.57 7.133c2.641 4.254 7.324 8.699 11.297 11.699c2.059 1.555 3.68 4.242 6.344 5.152v-.199h-.199c-.516-.805-1.324-1.137-1.98-1.781c-1.551-1.523-3.277-3.414-4.559-5.156c-3.613-4.902-6.805-10.27-9.711-15.855c-1.391-2.668-2.598-5.609-3.77-8.324c-.453-1.047-.445-2.633-1.387-3.172c-1.281 1.988-3.172 3.598-4.164 5.945c-1.582 3.754-1.789 8.336-2.375 13.082c-.348.125-.195.039-.398.199c-2.762-.668-3.73-3.508-4.758-5.949c-2.594-6.164-3.078-16.09-.793-23.191c.59-1.836 3.262-7.617 2.18-9.316c-.516-1.691-2.219-2.672-3.172-3.965c-1.18-1.598-2.355-3.703-3.172-5.551c-2.125-4.805-3.113-10.203-5.352-15.062c-1.07-2.324-2.875-4.676-4.359-6.738c-1.645-2.289-3.484-3.977-4.758-6.742c-.453-.984-1.066-2.559-.398-3.566c.215-.684.516-.969 1.191-1.191c1.148-.887 4.352.297 5.547.793c3.18 1.32 5.832 2.578 8.527 4.363c1.289.855 2.598 2.512 4.16 2.973h1.785c2.789.641 5.914.195 8.523.988c4.609 1.402 8.738 3.582 12.488 5.949c11.422 7.215 20.766 17.48 27.156 29.734c1.027 1.973 1.473 3.852 2.379 5.945c1.824 4.219 4.125 8.559 5.941 12.688c1.816 4.113 3.582 8.27 6.148 11.695c1.348 1.801 6.551 2.766 8.918 3.766c1.66.699 4.379 1.43 5.949 2.379c3 1.809 5.906 3.965 8.723 5.945c1.402.992 5.73 3.168 5.945 4.957zm-88.605-75.52c-1.453-.027-2.48.156-3.566.395v.199h.195c.695 1.422 1.918 2.34 2.777 3.566l1.98 4.164l.199-.195c1.227-.867 1.789-2.25 1.781-4.363c-.492-.52-.562-1.164-.992-1.785c-.562-.824-1.66-1.289-2.375-1.98zm0 0"
1040
+ }
1041
+ }]
1042
+ }
1043
+ },
1044
+ {
1045
+ key: "json",
1046
+ aliases: [],
1047
+ icon: {
1048
+ viewBox: "0 0 128 128",
1049
+ children: [
1050
+ {
1051
+ tag: "linearGradient",
1052
+ attrs: {
1053
+ id: "deviconJson0",
1054
+ x1: "-670.564",
1055
+ x2: "-583.105",
1056
+ y1: "-280.831",
1057
+ y2: "-368.306",
1058
+ gradientTransform: "matrix(.9988 0 0 -.9987 689.011 -259.008)",
1059
+ gradientUnits: "userSpaceOnUse"
1060
+ },
1061
+ children: [{
1062
+ tag: "stop",
1063
+ attrs: { offset: "0" }
1064
+ }, {
1065
+ tag: "stop",
1066
+ attrs: {
1067
+ offset: "1",
1068
+ "stop-color": "#fff"
1069
+ }
1070
+ }]
1071
+ },
1072
+ {
1073
+ tag: "path",
1074
+ attrs: {
1075
+ fill: "url(#deviconJson0)",
1076
+ "fill-rule": "evenodd",
1077
+ d: "M63.895 94.303c27.433 37.398 54.281-10.438 54.241-39.205c-.046-34.012-34.518-53.021-54.263-53.021C32.182 2.077 2 28.269 2 64.105C2 103.937 36.596 126 63.873 126c-6.172-.889-26.742-5.296-27.019-52.674c-.186-32.044 10.453-44.846 26.974-39.214c.37.137 18.223 7.18 18.223 30.187c0 22.908-18.156 30.004-18.156 30.004",
1078
+ "clip-rule": "evenodd"
1079
+ }
1080
+ },
1081
+ {
1082
+ tag: "linearGradient",
1083
+ attrs: {
1084
+ id: "deviconJson1",
1085
+ x1: "-579.148",
1086
+ x2: "-666.607",
1087
+ y1: "-364.34",
1088
+ y2: "-276.865",
1089
+ gradientTransform: "matrix(.9988 0 0 -.9987 689.011 -259.008)",
1090
+ gradientUnits: "userSpaceOnUse"
1091
+ },
1092
+ children: [{
1093
+ tag: "stop",
1094
+ attrs: { offset: "0" }
1095
+ }, {
1096
+ tag: "stop",
1097
+ attrs: {
1098
+ offset: "1",
1099
+ "stop-color": "#fff"
1100
+ }
1101
+ }]
1102
+ },
1103
+ {
1104
+ tag: "path",
1105
+ attrs: {
1106
+ fill: "url(#deviconJson1)",
1107
+ "fill-rule": "evenodd",
1108
+ d: "M63.895 94.303c27.433 37.398 54.281-10.438 54.241-39.205c-.046-34.012-34.518-53.021-54.263-53.021C32.182 2.077 2 28.269 2 64.105C2 103.937 36.596 126 63.873 126c-6.172-.889-26.742-5.296-27.019-52.674c-.186-32.044 10.453-44.846 26.974-39.214c.37.137 18.223 7.18 18.223 30.187c0 22.908-18.156 30.004-18.156 30.004",
1109
+ "clip-rule": "evenodd"
1110
+ }
1111
+ }
1112
+ ]
1113
+ }
1114
+ },
1115
+ {
1116
+ key: "lua",
1117
+ aliases: [],
1118
+ icon: {
1119
+ viewBox: "0 0 128 128",
1120
+ children: [
1121
+ {
1122
+ tag: "path",
1123
+ attrs: {
1124
+ fill: "#000080",
1125
+ d: "M112.956.708c-7.912 0-14.335 6.424-14.335 14.336s6.424 14.335 14.335 14.335s14.335-6.41 14.335-14.335c0-7.912-6.424-14.336-14.335-14.336M64 15.058c-27.02 0-48.956 21.935-48.956 48.955S36.979 112.97 64 112.97c27.02 0 48.956-21.935 48.956-48.956c0-27.02-21.936-48.956-48.956-48.956"
1126
+ }
1127
+ },
1128
+ {
1129
+ tag: "path",
1130
+ attrs: {
1131
+ fill: "#fff",
1132
+ d: "M84.285 29.392c-7.91 0-14.335 6.424-14.335 14.335s6.424 14.336 14.335 14.336s14.336-6.424 14.336-14.336s-6.424-14.335-14.335-14.335zM30.773 56.36v32.119h19.961v-3.611H34.87V56.359Zm57.584 8.37c-3.354 0-6.126.975-7.668 2.692c-1.055 1.19-1.488 2.516-1.582 4.801h3.705c.311-2.826 1.988-4.098 5.423-4.098c3.3 0 5.153 1.231 5.153 3.435v.974c0 1.542-.92 2.205-3.827 2.556c-5.193.663-5.991.839-7.398 1.407c-2.69 1.095-4.057 3.164-4.057 6.166c0 4.193 2.908 6.83 7.574 6.83c2.907 0 5.247-1.014 7.843-3.395c.257 2.34 1.407 3.395 3.787 3.395c.757 0 1.325-.081 2.515-.392v-2.773a3 3 0 0 1-.798.095c-1.284 0-1.988-.663-1.988-1.812V71.032c0-4.098-3.002-6.302-8.682-6.302m-33.742.664V83.19c0 3.84 2.867 6.302 7.357 6.302c3.395 0 5.545-1.19 7.709-4.233v3.219h3.3V65.393h-3.652v13.09c0 4.72-2.475 7.804-6.302 7.804c-2.907 0-4.76-1.772-4.76-4.544v-16.35Zm38.773 11.67v4.139c0 1.244-.365 1.988-1.46 3.002c-1.502 1.366-3.3 2.07-5.464 2.07c-2.867 0-4.544-1.367-4.544-3.706c0-2.42 1.636-3.665 5.558-4.233c3.881-.528 4.68-.703 5.91-1.271z"
1133
+ }
1134
+ },
1135
+ {
1136
+ tag: "path",
1137
+ attrs: {
1138
+ fill: "#808080",
1139
+ d: "M61.733 0a64 64 0 0 0-5.57.436l.179 1.458a63 63 0 0 1 5.442-.426zm5.585.046l-.075 1.468a62 62 0 0 1 5.433.52L72.88.578a64 64 0 0 0-5.561-.532Zm-16.665 1.31a63 63 0 0 0-5.409 1.398l.43 1.405a62 62 0 0 1 5.284-1.367Zm27.72.237l-.33 1.431a63 63 0 0 1 5.262 1.455l.452-1.397a64 64 0 0 0-5.384-1.489M39.98 4.623a64 64 0 0 0-5.081 2.323l.668 1.308a62 62 0 0 1 4.964-2.27zm49.012.41l-.573 1.353a63 63 0 0 1 4.929 2.346l.688-1.298a64 64 0 0 0-5.044-2.4ZM30.04 9.706a64 64 0 0 0-4.6 3.17l.886 1.173a63 63 0 0 1 4.494-3.098zm-8.906 6.728a64 64 0 0 0-3.983 3.918l1.075 1.001a63 63 0 0 1 3.891-3.827zm-7.61 8.165a64 64 0 0 0-3.247 4.546l1.231.8a63 63 0 0 1 3.172-4.44zm-6.086 9.357a64 64 0 0 0-2.408 5.042l1.352.574a62 62 0 0 1 2.352-4.925zm113.623.973l-1.31.667a63 63 0 0 1 2.263 4.967l1.362-.55a64 64 0 0 0-2.315-5.083zM3.075 44.23a63 63 0 0 0-1.49 5.385l1.432.328a62 62 0 0 1 1.455-5.26Zm122.166 1.049l-1.404.429a63 63 0 0 1 1.366 5.285l1.437-.306a64 64 0 0 0-1.399-5.409zM.574 55.108a64 64 0 0 0-.528 5.561l1.467.075a63 63 0 0 1 .516-5.434Zm126.988 1.088l-1.458.179a63 63 0 0 1 .428 5.441l1.468-.05a64 64 0 0 0-.438-5.57M1.468 66.205L0 66.255a64 64 0 0 0 .435 5.57l1.458-.179a63 63 0 0 1-.425-5.441m125.018 1.071a63 63 0 0 1-.518 5.434l1.455.203a64 64 0 0 0 .53-5.561zM2.79 77.031l-1.437.304a63 63 0 0 0 1.398 5.41l1.405-.43A62 62 0 0 1 2.79 77.03Zm122.188 1.046a62 62 0 0 1-1.457 5.26l1.397.454a63 63 0 0 0 1.492-5.384zM5.981 87.459l-1.362.551a63 63 0 0 0 2.323 5.082l1.307-.669a62 62 0 0 1-2.268-4.964m115.627.99a62 62 0 0 1-2.354 4.925l1.296.69a64 64 0 0 0 2.41-5.04zM10.944 97.17l-1.245.78a64 64 0 0 0 3.17 4.6l1.172-.885a63 63 0 0 1-3.097-4.495m105.534.904a63 63 0 0 1-3.173 4.44l1.156.906a64 64 0 0 0 3.249-4.545zm-98.96 7.8l-1.092.983a64 64 0 0 0 3.917 3.983l1.002-1.074a63 63 0 0 1-3.827-3.892m92.24.79a63 63 0 0 1-3.893 3.826l.983 1.092a64 64 0 0 0 3.984-3.916zm-84.263 6.648l-.906 1.157a64 64 0 0 0 4.546 3.248l.8-1.232a63 63 0 0 1-4.44-3.173m76.16.654a63 63 0 0 1-4.495 3.096l.78 1.245a64 64 0 0 0 4.6-3.17zm-67.018 5.294l-.691 1.296a64 64 0 0 0 5.04 2.409l.575-1.352a62 62 0 0 1-4.924-2.353m57.775.496a62 62 0 0 1-4.964 2.268l.551 1.362a63 63 0 0 0 5.082-2.322zm-47.74 3.77l-.453 1.396a63 63 0 0 0 5.385 1.49l.329-1.43a62 62 0 0 1-5.26-1.456zm37.632.322a62 62 0 0 1-5.284 1.365l.304 1.437a63 63 0 0 0 5.41-1.398zm-27.003 2.122l-.203 1.455a64 64 0 0 0 5.561.529l.075-1.467a63 63 0 0 1-5.433-.517m16.335.139a63 63 0 0 1-5.442.424l.05 1.468a64 64 0 0 0 5.57-.434z"
1140
+ }
1141
+ }
1142
+ ]
1143
+ }
1144
+ },
1145
+ {
1146
+ key: "csharp",
1147
+ aliases: ["cs", "c#"],
1148
+ icon: {
1149
+ viewBox: "0 0 128 128",
1150
+ children: [
1151
+ {
1152
+ tag: "path",
1153
+ attrs: {
1154
+ fill: "#9b4f96",
1155
+ d: "M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7s-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7"
1156
+ }
1157
+ },
1158
+ {
1159
+ tag: "path",
1160
+ attrs: {
1161
+ fill: "#68217a",
1162
+ d: "M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7s2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8z"
1163
+ }
1164
+ },
1165
+ {
1166
+ tag: "path",
1167
+ attrs: {
1168
+ fill: "#fff",
1169
+ d: "M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20c-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8zM97 66.2l.9-4.3h-4.2v-4.7h5.1L100 51h4.9l-1.2 6.1h3.8l1.2-6.1h4.8l-1.2 6.1h2.4v4.7h-3.3l-.9 4.3h4.2v4.7h-5.1l-1.2 6h-4.9l1.2-6h-3.8l-1.2 6h-4.8l1.2-6h-2.4v-4.7H97zm4.8 0h3.8l.9-4.3h-3.8z"
1170
+ }
1171
+ }
1172
+ ]
1173
+ }
1174
+ },
1175
+ {
1176
+ key: "cpp",
1177
+ aliases: ["c++"],
1178
+ icon: {
1179
+ viewBox: "0 0 128 128",
1180
+ children: [
1181
+ {
1182
+ tag: "path",
1183
+ attrs: {
1184
+ fill: "#00599c",
1185
+ d: "M118.766 95.82c.89-1.543 1.441-3.28 1.441-4.843V36.78c0-1.558-.55-3.297-1.441-4.84l-55.32 31.94Zm0 0"
1186
+ }
1187
+ },
1188
+ {
1189
+ tag: "path",
1190
+ attrs: {
1191
+ fill: "#004482",
1192
+ d: "m68.36 126.586l46.933-27.094c1.352-.781 2.582-2.129 3.473-3.672l-55.32-31.94L8.12 95.82c.89 1.543 2.121 2.89 3.473 3.672l46.933 27.094c2.703 1.562 7.13 1.562 9.832 0Zm0 0"
1193
+ }
1194
+ },
1195
+ {
1196
+ tag: "path",
1197
+ attrs: {
1198
+ fill: "#659ad2",
1199
+ d: "M118.766 31.941c-.891-1.546-2.121-2.894-3.473-3.671L68.359 1.172c-2.703-1.563-7.129-1.563-9.832 0L11.594 28.27C8.89 29.828 6.68 33.66 6.68 36.78v54.196c0 1.562.55 3.3 1.441 4.843L63.445 63.88Zm0 0"
1200
+ }
1201
+ },
1202
+ {
1203
+ tag: "path",
1204
+ attrs: {
1205
+ fill: "#fff",
1206
+ d: "M63.445 26.035c-20.867 0-37.843 16.977-37.843 37.844s16.976 37.844 37.843 37.844c13.465 0 26.024-7.247 32.77-18.91L79.84 73.335c-3.38 5.84-9.66 9.465-16.395 9.465c-10.433 0-18.922-8.488-18.922-18.922s8.49-18.922 18.922-18.922c6.73 0 13.017 3.629 16.39 9.465l16.38-9.477c-6.75-11.664-19.305-18.91-32.77-18.91zM92.88 57.57v4.207h-4.207v4.203h4.207v4.207h4.203V65.98h4.203v-4.203h-4.203V57.57zm15.766 0v4.207h-4.204v4.203h4.204v4.207h4.207V65.98h4.203v-4.203h-4.203V57.57z"
1207
+ }
1208
+ }
1209
+ ]
1210
+ }
1211
+ },
1212
+ {
1213
+ key: "c",
1214
+ aliases: ["clang"],
1215
+ icon: {
1216
+ viewBox: "0 0 128 128",
1217
+ children: [
1218
+ {
1219
+ tag: "path",
1220
+ attrs: {
1221
+ fill: "#659ad3",
1222
+ d: "M115.4 30.7L67.1 2.9c-.8-.5-1.9-.7-3.1-.7s-2.3.3-3.1.7l-48 27.9c-1.7 1-2.9 3.5-2.9 5.4v55.7c0 1.1.2 2.4 1 3.5l106.8-62c-.6-1.2-1.5-2.1-2.4-2.7"
1223
+ }
1224
+ },
1225
+ {
1226
+ tag: "path",
1227
+ attrs: {
1228
+ fill: "#03599c",
1229
+ d: "M10.7 95.3c.5.8 1.2 1.5 1.9 1.9l48.2 27.9c.8.5 1.9.7 3.1.7s2.3-.3 3.1-.7l48-27.9c1.7-1 2.9-3.5 2.9-5.4V36.1c0-.9-.1-1.9-.6-2.8z"
1230
+ }
1231
+ },
1232
+ {
1233
+ tag: "path",
1234
+ attrs: {
1235
+ fill: "#fff",
1236
+ d: "M85.3 76.1C81.1 83.5 73.1 88.5 64 88.5c-13.5 0-24.5-11-24.5-24.5s11-24.5 24.5-24.5c9.1 0 17.1 5 21.3 12.5l13-7.5c-6.8-11.9-19.6-20-34.3-20c-21.8 0-39.5 17.7-39.5 39.5s17.7 39.5 39.5 39.5c14.6 0 27.4-8 34.2-19.8z"
1237
+ }
1238
+ }
1239
+ ]
1240
+ }
1241
+ },
1242
+ {
1243
+ key: "file",
1244
+ aliases: [],
1245
+ icon: null
1246
+ }
1247
+ ];
1248
+ /** Canonical language keys, in registry order. */
1249
+ const LANGUAGES = LANGUAGE_REGISTRY.map((e) => e.key);
1250
+ const ALIAS_TO_LANGUAGE = new Map(LANGUAGE_REGISTRY.flatMap((e) => [[e.key, e.key], ...e.aliases.map((a) => [a, e.key])]));
1251
+ /** Maps an arbitrary language hint (alias, extension) onto a {@link Language}. */
1252
+ const normalizeLanguage = (language) => ALIAS_TO_LANGUAGE.get(language) ?? "file";
1253
+ /** The authored glyph artwork for every {@link GlyphLanguage}. */
1254
+ const languageIcons = Object.fromEntries(LANGUAGE_REGISTRY.flatMap((e) => e.icon ? [[e.key, e.icon]] : []));
1255
+ //#endregion
610
1256
  exports.BLOCK_CATALOG_ID = BLOCK_CATALOG_ID;
611
1257
  exports.BlockImageApi = BlockImageApi;
612
1258
  exports.BlockQuoteApi = BlockQuoteApi;
@@ -622,6 +1268,7 @@ exports.FileApi = FileApi;
622
1268
  exports.HeadingApi = HeadingApi;
623
1269
  exports.IconApi = IconApi;
624
1270
  exports.KatexApi = KatexApi;
1271
+ exports.LANGUAGES = LANGUAGES;
625
1272
  exports.LinkTextApi = LinkTextApi;
626
1273
  exports.ListApi = ListApi;
627
1274
  exports.ListItemApi = ListItemApi;
@@ -636,3 +1283,5 @@ exports.ToggleApi = ToggleApi;
636
1283
  exports.UnsupportedApi = UnsupportedApi;
637
1284
  exports.assembleCatalog = assembleCatalog;
638
1285
  exports.blockCatalogJson = blockCatalogJson;
1286
+ exports.languageIcons = languageIcons;
1287
+ exports.normalizeLanguage = normalizeLanguage;