diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..cb38d3f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+node_modules/
+public/
+/package-lock.json
\ No newline at end of file
diff --git a/content/blog/2024/03/thailand-part-one/elephant.jpg b/content/blog/2024/03/thailand-part-one/elephant.jpg
new file mode 100644
index 0000000..2037674
Binary files /dev/null and b/content/blog/2024/03/thailand-part-one/elephant.jpg differ
diff --git a/content/blog/2024/03/thailand-part-one/index.md b/content/blog/2024/03/thailand-part-one/index.md
new file mode 100644
index 0000000..ec092b4
--- /dev/null
+++ b/content/blog/2024/03/thailand-part-one/index.md
@@ -0,0 +1,30 @@
+---
+title: "Koh Samui & Koh Phangan"
+date: 2024-03-29T16:46:22+01:00
+draft: false
+---
+Nun sind wir in Thailand angekommen, seit etwa 2,5 Wochen. Halbzeit, da wir 5 Wochen geplant hatten. Wir haben von Frankfurt aus einen Direktflug nach Bangkok gewählt, da wir dachten ein Nachtflug ohne Unterbrechung wäre das Schlaueste mit den Kids.
+
+## Koh Samui
+
+Da bei Thai Airways nur in den vordersten Sitzreihen die Babykörbe eingehängt werden können, hatten wir quasi vollautomatisch einen Sitz mit Beinfreiheit. Theoretisch cool, praktisch bedeutete das auch, dass wir die Armlehnen in der Sitzreihe nicht hochklappen konnten. Dementsprechend war schon mal nix mit kuschelig auf dem Sitz schlafen. Schlaue Füchse die wir sind, haben wir uns dann einfach auf den Boden gelegt, dabei aber nicht die Rechnung mit der Stewardess gemacht, die uns vier mal geweckt und darauf hingewiesen hat, dass es nicht besonders sicher sei auf dem Boden zu schlafen. Da sie uns aber auch nicht rausschmeißen konnte, haben wir uns einfach immer wieder hingelegt. Irgendwann haben wir dann auch Nimue einfach unter Naels Körbchen versteckt, immerhin sie konnte dann verhältnismäßig ruhig schlafen.
+
+Nach dieser Tortur hatten wir noch den verspäteten Anschluss nach Koh Samui genommen. Der Flug ging zum Glück schnell vorrüber. Dort angekommen war es vor allen Dingen erstmal warm und wir so fertig, dass Nimue noch am Gepäckband ein Nickerchen hingelegt hatte. Durch unseren verspäteten Flug musste leider auch der Taxifahrer lange unverrichteter Dinge am Flughafen warten, aber fuhr uns dann in unser Hotel.
+
+Auf Koh Samui hatten wir das volle Programm für die Kinder ausgerollt, erstens aus der Angst heraus, sie ansonsten nicht beschäftigt zu bekommen, aber auch um den Jetlag in einfacherer Atmosphäre auszukurieren. Diese Entscheidung stellte sich auch als voller Erfolg heraus. Wir hatten neben dem obligatorischen Pool einen Indoor-Spielplatz, Outdoor-Spielplatz mit Trampolin und dementsprechend v.a. auch sehr viele andere Familien. Wie erwartet waren diese tlw. auch schon sehr weit gereist und konnten mit den heißesten Tipps zur Weiterreise aufwarten, wo es sich mit Kindern lohnt oder ggf. auch nicht lohnt.
+
+Nimue hat dann mit Alex aus Berlin auch gleich eine gleichaltrige Freundin aufgegabelt mit der sie in der einen Woche, die wir dort verbrachten viele schöne Momente hatte. Sie waren viel im Pool, waren gemeinsam am Strand und etliche Stunden auf dem Indoor-Spielplatz. Wir Eltern konnten dabei immer mal wieder sogar einen Kaffee zusammen trinken. Alex hat ihr auch gleich den richtigen Umgang mit Schwimmringen und Schwimmflügeln beibringen können.
+
+Von Koh Samui selbst haben wir nicht unendlich viel gesehen. Erstens machte uns natürlich die ersten Tage das Klime sowie der Jetlag zu schaffen, zweitens waren wir ohnehin nicht besonders mobil. Die Unterkunft war in laufbarer Entfernung zu einem Foodmarket und zum Fishermen's Village, wo wir dann unsere Versorgung sicherstellen konnten. Einen Tag wagten wir auch das Experiment mit zwei Rollern (Nael in der Trage, Nimue vorne zwischen den Beinen), allerdings empfand Täschi diese Form der Mobilität als nicht besonders sicher.
+
+## Koh Phangan
+Nachdem die Woche herum war, wir die besten Empfehlungen der anderen Familien ausgewertet hatten und Abschiedsworte gesprochen waren, machten wir uns auf zu unserem zweiten Stop: Koh Phangan, die Nachbarinsel von Koh Samui.
+
+Eine kurze Fährüber- und Taxifahrt später wurden wir mit Limonade und Wassermelone in unserer Unterkunft auf Koh Phangan begrüßt. Unser Zimmer war ein Bungalow im Palmenwald mit Poolblick aus der Hängematte von der Veranda aus. Nachdem wir zum Einen von Samui herzlich wenig gesehen hatten, und zum Anderen das was wir gesehen hatten eher nicht besonders ansprechend fanden, war Phangan eine schöne Abwechslung. Wir mieteten diesmal nur einen Roller, da wir das Experiment zu viert auf dem Gefährt wagen wollten und uns der Verkehr auf Phangan im Vergleich sehr viel entspannter vorkam. Da eine Familie auf dem Roller sich sehr schnell als genialer Einfall herausstellte, sollte dies für den weiteren Urlaub unsere Fortbewegungsart werden. Je nach geplanter Strecke war entweder Nael vorne in der Trage und Nimue zwischen uns eingequetscht oder (bei kürzeren Strecken) Nimue sogar vorne auf ihrem Lieblingsplatz mit Aussicht.
+
+Alleine das auf der Insel herumcruisen bereitete schon Freude: wie geschrieben war der Verkehr entspannt, die Straßen klein und hügelig, sodass wir auch Fahrfreude durch den Palmenwald oder Dschungel verspürten. Ein Highlight auf Phangan waren der Besuch im Elephant Sanctuary, wo wir Elefanten mit Bananen und von uns selbst zubereiteten Reisball-Snacks beglücken durften. Ansonsten versuchten wir uns natürlich an den Geocaches, allerdings war die Ausbeute eher dürftig. Einmal trauten wir uns auch fast einen etwa 2 km langen Trail zu einem Strand, allerdings kamen wir leider genau in der Mittagshitze am Einstieg an, der schon so aussah als ob man ihn in unserer Verfassung mit Kind auf dem Rücken eher nicht gehen sollte. Stattdessen ließen wir es uns einfach direkt am nächsten Strand gutgehen.
+
+Ansonsten waren die Tage geprägt von Pool & Spielplatz in der Anlage, und leider mussten wir viel zu schnell unsere Zelte wieder abbrechen, da wir nur 5 Tage später die Reise zum Indischen Ozean antreten wollten. Dort, auf Koh Lanta, waren wir verabredet uns mit Freunden zu treffen. Insgesamt war Phangan deutlich relaxter und schöner als Samui, trotzdem wir nur kurz bleiben konnten und damit deutlich mehr Pack- und Reisestress verbunden waren lohnte sich der kurze Abstecher. Zum Glück hatten wir uns gegen die Alternative, nämlich die Verlängerung auf Samui entschieden.
+
+
+
\ No newline at end of file
diff --git a/content/blog/2024/03/thailand-part-one/portrait.jpg b/content/blog/2024/03/thailand-part-one/portrait.jpg
new file mode 100644
index 0000000..4256c31
Binary files /dev/null and b/content/blog/2024/03/thailand-part-one/portrait.jpg differ
diff --git a/content/blog/2024/04/koh-lanta/beachbar.jpg b/content/blog/2024/04/koh-lanta/beachbar.jpg
new file mode 100644
index 0000000..88ca143
Binary files /dev/null and b/content/blog/2024/04/koh-lanta/beachbar.jpg differ
diff --git a/content/blog/2024/04/koh-lanta/fernweh.jpg b/content/blog/2024/04/koh-lanta/fernweh.jpg
new file mode 100644
index 0000000..82caa0f
Binary files /dev/null and b/content/blog/2024/04/koh-lanta/fernweh.jpg differ
diff --git a/content/blog/2024/04/koh-lanta/index.md b/content/blog/2024/04/koh-lanta/index.md
new file mode 100644
index 0000000..a2ce1fb
--- /dev/null
+++ b/content/blog/2024/04/koh-lanta/index.md
@@ -0,0 +1,43 @@
+---
+title: "Koh Lanta"
+date: 2024-04-01T17:19:10+02:00
+draft: false
+resources:
+ - name: header
+ src: fernweh.jpg
+---
+Von Koh Phangan nach Koh Lanta mussten wir einmal den Ozean wechseln, Koh Lanta liegt in der Andamanensee und damit am Indischen Ozean. Das erste Mal, dass ich dort meinen großen Zeh ins Wasser halten durfte. Auch der Indische Ozean ist zuallererst nass, danach salzig. Es gibt Wellen und Meeresgetier.
+
+
+
+## Insel wechsel dich
+Von Phangan aus hatten wir eine Fährüberfahrt und Van-Anschluss am Anleger gebucht. Da die meisten durchgängigen Verbindungen mit ca. 8 h Reisezeit angegeben waren, entschieden für uns für das Wohlergehen der Kinder einen Zwischenstopp einzulegen. Krabi bot sich als Ziel an, da es von dort nur ein Katzensprung nach Lanta ist, und die Reisezeit insgesamt nach Krabi mit 4,5 h überschaubar aussah. Leider machten wir die Rechnung ohne die Full Moon Party auf Phangan, die so manche Reiseplanung von uns durchkreuzte. Zum einen konnten wir ja wegen der Full Moon Party überhaupt nur so kurz auf Phangan bleiben, weil zum Vollmond jegliche Unterkunft bis auf das letzte Kellerloch ausgebucht war, zum anderen ging es sehr vielen Menschen wie uns, und die besten Verbindungen zur Flucht von der Insel waren bereits ausgebucht. Lange Rede, gar kein Sinn, die einzige Verbindung, die wir noch bekamen war also schon mit 5,5 h angesetzt. Not good, not terrible.
+
+Die Fährüberfahrt aufs Festland war unspektakulär, der Vanfahrer holte uns ab, unser Gepäck fand seinen Platz und die Kinder waren erstaunlich wohlgesonnen. Nach erst so ca. 4 h sahen wir uns genötigt Nimue mit dem Tablet ruhigzustellen, was sich noch als Fehler erweisen sollte. Unseren Overlay hatten wir nicht direkt in Krabi gebucht, sondern in Ao Nang, der Tourifalle nebenan. Die Karte versprach uns eine direkte Fähre von dort nach Lanta. Ungelogen 45 Sekunden vor Ankunft in unserem Hotel entschied sich Nimue spontan nochmal das Auto mit der Wassermelone in ihrem Magen zu dekorieren. Scheinbar war der fehlende Kindersitz, die kurvigen Straßen und Peppa Wutz in Dauerschleife eine teuflische Mischung, die zu diesem Malheur führte. Nimue hat ihr erstes ernstzunehmendes Kotzen allerdings mit viel Würde getragen. Untergebracht waren wir im Kokotel. Schön war's nicht, eine Nacht haben wir überlebt. Immerhin gab es eine Rutsche vom zweiten in den ersten Stock, die Nimue natürlich sehr erfreute.
+
+Das Abendessen nutzte ich wiederum, um Nimues eiskalten Orangensaft auf sie zu verschütten und damit die Nerven des übermüdeten Kindes und der besorgten Mutter gnadenlos überzustrapazien. Zur Ablenkung gab es immerhin eine Feuershow am Strand. Der Service im Restaurant und die Kleinkünstler dürfen allerdings gerne noch üben. Die Fähre nach Lanta erschien uns dann allerdings so teuer und der Transfer so unpraktisch, dass wir uns dazu entschieden direkt mit dem Privatvan nach Lanta zu cruisen. Hielt sich preislich erstaunlich im Rahmen, war natürlich ein Tacken länger als mit der Fähre, aber wir dachten uns "Wenn das Kind wieder kotzt, dann wenigstens nur auf uns". Die Angst war allerdings unbegründet.
+
+
+
+## Lanta Sea House
+
+Auf Koh Lanta waren wir im Lanta Sea House untergebracht. Dort hatten wir wieder einen netten Bungalow für uns. Das Hotel/Resort/Wie-auch-immer-man-das-nennen-möchte hatte einen direkten Strandzugang und auch das dazugehörige Restaurant war quasi direkt am Strand. Es gab zur Abwechslung Buffet zum Frühstuck. Dies hatte zwar eine begrenzte Auswahl, aber ich war relativ angetan davon, da die bisherigen Frühstücke zwar mal besser und mal schlechter waren, aber leider immer die geringe Menge gemeinsam hatten. Das Lanta Sea House war relativ weit im Norden von Lanta, und nachdem wir die Insel ein wenig erkundet hatten muss ich sagen, sollte es uns nochmal dorthin verschlagen würde ich eher eine Unterkunft ganz im Süden suchen. Was wir auf Phangan so schätzen gelernt hatten (enge, kurvige Straßen die Berge hinauf und hinab durch den Dschungel) gab es rund um unsere Unterkunft gar nicht: dort gibt es eine breite Hauptstraße, an der links und rechts eher charmlose Gebäude und Anlagen stehen, entlang dieser Route wirkte alles eher trostlos und die Dörfer wie schlechte Westernstädte. Vielleicht war es auch die Trockenheit, aber im Süden zeigte sich Lanta dann von seiner schnuckeligeren Seite. Wobei ich auch da sagen würde, dass es gegen Phangan nicht anstinken konnte.
+
+Im Lanta Sea House haben wir Dierk und Johanna mit ihrerm Baby Frieda getroffen, außerdem war Laura, eine Freundin der beiden, auch vor Ort. Die ersten Tage mit ihnen waren aber eher kontaktarm, da sie gerade eine Covid-Infektion auskurierten. Auch danach war es nicht unbedingt ein happy gemeinsames Urlauben, da einfach die Tagesabläufe und notwenige Rücksichtnahme auf die diveresen Interessen der Kinder keine besonderen gemeinsamen Aktivitäten ermöglichten. Durch Nimue und unseren Entdeckerdrang sind wir ja gezwungen möglichst viel Entertainment Programm abzuspulen, während Dierk & Johanna mit Frieda eher der Tageshitze entweichen wollten und wieder versuchten nach der Infektion auf den Dampfer zu kommen. So haben wir uns hauptsächlich ein paar mal beim Essen und abends am Strand gesehen, Dierk hat zwei kleine Ausflüge mit uns unternommen und uns die Secret Shopping Meile in Lanta Old Town gezeigt.
+
+
+
+
+## Lanta Geocaching
+Wir haben viel im Meer gebadet und Nimue ist richtig auf den Geschmack gekommen, "Die Wellen machen Quatsch". Außerdem wurde viel im Sand gebuddelt. Manchmal sind wir auch woanders hingefahren und haben dort im Meer gebadet und im Sand gebuddelt. Ich bin erstaunt, dass wir es geschafft haben, dass Nael keinen Hitzschlag bekommen hat. Gut, vielleicht hatte er auch einen und wir Rabeneltern haben es nicht gemerkt, kann auch sein. Er musste ja bei allen Ausflügen immer in der Trage rumhängen, und wir schaffen es ja nur an den wenigsten Tagen nicht um Punkt 12 in der größten Hitze überhaupt erst aufzubrechen. Auf dem Programm standen besagter Shopping Ausflug nach Old Town, dort gab es ein Kleid für Nimue und kurze Hosen für mich. Die Route führte durchs Inland, das war eine nette Fahrt durch den Dschungel.
+
+Vier Geocaches gab es auf Lanta. Einen in der Nähe unserer Unterkunft konnten wir finden, einen weiteren suchten wir sehr kurz, da der Ort nicht besonders einladend zum Suchen war (es war natürlich in der größten Mittagshitze und ein frischer Hundehaufen lag genau am GPS-Punkt). Diesen Cache fanden wir nicht. Einen weiteren, der ein kleines Stück weiter war sah ähnlich einladend zum Suchen aus, da haben wir es gar nicht erst versucht. Zwei Tage später sind wir dann an die Südspitze der Insel aufgebrochen, um den letzten Cache der Insel zu bergen. Dort war es wie geschrieben dann erstaunlich nett, den Cache haben wir erfolgreich geloggt, konnten vom Versteck aus eine schöne Aussicht genießen und kamen in einer sehr netten Strandbar zum, you guessed it, im Meer baden und im Sand buddeln unter. Nael hat sogar die Besitzer der Bar so verzückt, dass er von ihnen lange herumgetragen wurde.
+
+Später machten wir noch einen Shopping Trip nach Old Town, da wir auf dem Markt in dem näheren nördlichen Fähranleger-Dorf nicht erfolgreich waren. Der war eher auf Touristen-Nepp ausgelegt, man wurde in jedem Laden von übereifrigen Verkäufern verfolgt und vollgeschnackt. Das finden wir ja eher unangenehm, in Old Town blieben wir davon verschont. Dort wurden dann nochmal kurze Hosen für mich aufgestackt, bis Nimues Laune wieder im Keller war. Da Täschi in ihrer Klamottenauswahl ja komplizierter ist als ich und Nimues Laune für Einkaufsbummel nicht lange bestehen bleibt, konnte Täschi leider keine schönen Kleider für sich als Beute mitnehmen. Die lange Rückfahrt versüßten wir uns mit einer neuen Route quer durchs Inland der Insel, vorbei an vielen urigen Häuschen und Kautschukplantagen.
+
+Eine witzige, erwähnenswerte Episode war noch Nimues Mittagsschlaf vor der Bank an einem der heißen Tage: da wir neue Schwimmwindeln brauchten, suchten wir den "großen" Supermarkt in Ban Sala Dan auf. Auf dem Weg dorthin ist Nimue natürlich auf dem Roller eingeschlafen. Da sie erst kurz schlief legten wir sie auf unser Strandtuch in den Schatten vor der Bank neben dem Supermarkt. Zunächst schauten die Bediensteten und das Sicherheitspersonal durch die Glastür raus, und in bester Deutscher Manier befürchteten wir, dass sie uns natürlich vertreiben wollten, wie sieht denn das aus, wenn ein Kind da vor der Bank auf dem Boden liegt. Turns out, sie waren besorgt und haben uns insgesamt dreimal angeboten, dass wir Nimue auch in die Bank legen könnten, schließlich gibt es dort eine Klimaanlage. Wir lehnten allerdings ab, da wir uns nicht trauten Nimue zu bewegen ohne sie aufzuwecken. Ach, und Schwimmwindeln gab es tatsächlich in dem Supermarkt, immerhin lohnte sich die Fahrt also.
+
+
+
+## Hinterländ
+Lange überlegten wir herum wohin es nach Koh Lanta gehen sollte. In die nähere Auswahl kamen Koh Lipe, Koh Libong und Koh Yao Noi. Schlussendlich wurde es Koh Libong, v.a. da es unmöglich war auf den anderen Inseln eine Unterkunft zu bekommen (Koh Yao Noi war eigentlich unser Favorit, aber was willste machen). All diese Inseln versprachen laut diverser Blogs eine eher ursprünglichere Erfahrung nach unseren klassischen Touristops Samui, Phangan und Lanta. Wobei wir später dann auch hörten, dass das zumindest auf Koh Lipe nicht unbedingt zutrifft. Wie dem auch sei, Libong it is und wir buchten uns ins beste Hotel am Platz, das Andalay Beach Resort. Den Transfer machte wieder ein Privatvan und ein Longtail Boat, anschließend ein wilder Ritt auf der Ladefläche eines Pickup.
\ No newline at end of file
diff --git a/content/blog/2024/04/koh-lanta/sonnenuntergang.jpg b/content/blog/2024/04/koh-lanta/sonnenuntergang.jpg
new file mode 100644
index 0000000..c26fcc1
Binary files /dev/null and b/content/blog/2024/04/koh-lanta/sonnenuntergang.jpg differ
diff --git a/content/blog/2024/04/koh-libong/index.md b/content/blog/2024/04/koh-libong/index.md
new file mode 100644
index 0000000..86ecc80
--- /dev/null
+++ b/content/blog/2024/04/koh-libong/index.md
@@ -0,0 +1,24 @@
+---
+title: "Koh Libong"
+date: 2024-04-04T17:18:29+02:00
+draft: false
+---
+Nach Koh Lanta experimentierten wir mit dem Abenteuer. Wir wollten eine weniger touristische Insel aufsuchen und wägten zwischen verschiedenen Möglichkeiten ab. Noch vor Koh Lanta war Koh Phayam kurz im Rennen um uns dort mit Dierk, Johanna und Frieda zu treffen. Aber da wir alle mit unseren Babys unterwegs waren, schreckten uns einige Blogs dann doch ab, die berichteten, dass es dort nur selten Klimaanlagen und auch nicht immer Strom gibt. Das wirkte auf uns alle dann doch zu abenteuerlich. So wurde es für das Get Together also Lanta. Da wir dort im Norden untergekommen waren, und Täschi und mir zwar die Unterkunft, aber nicht das Ambiente der Umgebung gefielen, machten wir uns also auf die Suche nach dem Sweet Spot zwischen Realness und Tourismus, den wir auf Libong dann auch fanden.
+
+
+
+## Viele Inseln
+Auf der Suche nach Zielen wälzten wir also wieder einmal Reiseberichte. Fakt: es gibt viele Inseln in und um Thailand. In die engere Auswahl kamen Koh Yao Noi, Koh Libong und Koh Lipe. Eigentlich hatten wir uns schon auf Yao Noi eingeschossen, aber wir waren offensichtlich mal wieder zu spät, respektive zu speziell, mit unserer Buchung der Unterkunft. Es gab nämlich weder auf Yao Noi, noch auf Lipe überhaupt irgendwelche Treffer für unseren Reisezeitraum. Und egal wie wir es drehten und wendeten, egal ob frühere An- und Abreise oder gar eine ganze Woche später, es gab nichts für uns zu holen. Auch auf Libong gab es nur einen Treffer, das Andalay Beach Resort. Später haben wir dann rausgefunden, dass es v.a. damit zusammenhängt, dass die Suchmasken der meisten Anbieter (Agoda und Booking vornehmlich) mit unserer Anfrage für zwei Erwachsene, ein Baby und ein Kleinkind etwas überfordert sind: Man kann meistens nicht gut genug spezifizieren, welche Bettkonstellation man mit dieser Reisegruppe sucht, und wenn man es denn kann, ist man auch darauf angewiesen, dass die Hotels ihre Zimmer auf den Plattformen richtig eingepflegt haben. Dementsprechend fallen auch einfach sehr viele potentielle Treffer raus. Mit diesem Wissen hätte es vielleicht auch auf Yao Noi geklappt, aber so wurde uns wiederum die Entscheidung abgenommen und wir machten uns auf den Weg nach Libong.
+
+## Eine Seefahrt
+Koh Libong ist schon mal so urig, dass es keine reguläre Fähre gibt, die einen übersetzen kann. Die Möglichkeiten beschränken sich auf Speedboats und eine Taxifahrt mit anschließedem Longtail Boat. Da die Reviews der Speedboatanbieter und Täschis Erfahrungen mit dem Komfort einer Speedboatreise beide eher durchwachsen waren entschieden wir uns für den zwar etwas längeren Trip mit dem Taxi, der aber wiederum auch deutlich günstiger war. Von Lanta dauerte der ganze Weg etwa vier Stunden. In Baan Chao Mai wurde die Reisegruppe dann auf besagtes Longtail Boot verladen. Das kam uns sehr entgegen, da Nimue ohnehin schon seit Tagen bei jedem Boot, das sie gesehen hatte verlangte, dass wir endlich einmal "Segelboot" fahren müssen (jedes Boot ist ein Segelboot). Sie genoss die Überfahrt dann auch sichtlich. Auf Libong wurden wir dann auf die Ladefläche eines Pickup verladen, der uns an das andere Ende der Insel brachte. Schon auf dieser kurzweiligen Fahrt begrüßte uns der urige Charakter der Insel. Es gibt diese eine Straße, ein Dorf in der Mitte der Insel und ansonsten noch 2 Hüttenansammlungen an jedem Ende der Insel. Das Inselleben wirkte gleich sehr echt auf uns, abgesehen von der Anlegestelle gab es keinen Tourineppladen zu sehen, es gibt keinen 7Eleven, es gibt keine Tankstelle, nur das echte Thai Benzin aus der Colaflasche. Ich glaube auch, dass es nur zwei Autos auf der Insel gibt, ansonsten besteht der Verkehr aus Rollern und Tuktuks.
+
+## Im besten Hotel am Platz
+Tatsächlich gibt es auch nicht viele Unterkünfte auf Libong und das Andalay Beach Resort ist das einzige Hotel auf der Insel, das einen (bzw. genaugenommen zwei) Pools hat. Leider kam uns das gelegener als wir hofften, da bei unserer Ankunft das Meer leider v.a. quallig war. Das Resort ist mit seinen Hüttchen, den Pools, dem Restaurant am Strand und seiner Einrichtung mit viel Holz richtig schön anzusehen, die Instagramability ist enorm hoch. Dafür berappt man natürlich auch den einen oder anderen Rappen, preislich liegt das schon weit vorne. Und dafür bekommt man wiederum bis auf die Optik nicht so richtig hohe Qualität geboten, insbesondere beim (teuren) Essen ist das schon fast frech. Zum Glück schaffen da aber die Restaurants außerhalb (die man in genaugenommen 2 Minuten, na gut, lass es 10 mit den Kindern sein) zu Fuß erreicht, großartige Abhilfe. Wahnsinnig leckeres Essen für n Appel und ein Ei. Inklusive Abenteuer sind. auch immer mal wieder Stromausfälle und Internetausfälle, aber dafür ist man ja nach Libong gekommen. Stromausfall morgens beim Frühstück und man bekommt keinen Kaffee ist allerdings schon nah an Folter.
+
+## Reisedepression durch Kinder
+Vielleicht durch die Entschleunigung und Reizunterflutung hatte ich nach ca. 3 Tagen auf Libong allerdings mit starkem Reiseblues zu kämpfen. Da es hier tatsächlich nicht viel zu tun gibt, hatten wir gefühlt nach einem Tag mit dem Roller die gesamte Insel abgegrast. Das Meer blieb uns ja auch zunächst verwehrt und es gibt nicht mal einen Geocache auf der Insel. Daher hatte ich einen Tag richtig miese Laune bzgl. der Tatsache, dass ich mich so gefangen fühlte. Irgendwie war das eigentlich wieder die Urlaubsart, auf die ich so richtig Bock hatte, andererseits nagte das Gefühl an mir, dass ich diesen Abenteuerwunsch aufgrund der Kinder hier nicht ausleben konnte. Ständig plärrt das Baby wegen irgendwas, wenn man dann aber bspw. abends mit dem Roller umherfährt, kann man auch nicht halten ohne von Mücken gefressen zu werden um ihm das Maul mit der Brust zu stopfen. Also eilt man sich mit dem strampelnden Baby in der Trage wieder in die Unterkunft. Nimue wiederum musste gefühlt rund um die Uhr mit Kleinkind-Theater beschäftigt werden, was auch nicht bedeutet mit der Machete wilde Dschungeltouren zu unternehmen. Tagsüber ist es in der Mittagszeit furchtbar heiß, am besten sitzt man diese Zeit also im klimatisierten Zimmer aus, dort tanzt Nimue dann aber auf dem Tisch wegen Unterbeschäftigung. Nael schläft in der Zeit. Wenn man dann irgendwann Nimue dann so runtergefahren hat, dass sie doch endlich zum Mittagsschlaf einschläft ist Babymann wieder wach und plärrt wegen irgendetwas. Wenn dann abends die Temperaturen zur Aktivität einladen, ist es (oh Wunder) dunkel. Da fährt man dann auch nicht mit der gesamten Familie auf dem Roller die Feldwege entlang und jagt alle über den wurzeligen Dschungelboden Das führte bei mir zum Meltdown, dass ich kurz davor war den Urlaub abzubrechen. Einzig, dass es von hier aus auch wiederum ein riesig großer Aufwand wäre nach Bangkok zu kommen hielt mich davon ab unmittelbar die Rückreise anzutreten.
+
+Unverhofft, ohne dass ich danach gesucht hätte, kam aber Hilfe von unerwarteter Seite: im Rahmen der April Cools, haben einige Blogger die Tradition gestartet, über Themen zu schreiben, über die sie sonst nicht schrieben. Lange Kette glücklicher Umstände, am Ende stand ein schnell heruntergeladener Erziehungsratgeber namens "Hunt. Gather. Parent." Schon der Prolog sprach mich an, da ich meine Gefühle über das Elternsein 1:1 Beschreibungen der Autorin wiederfand (nicht nur auf den Urlaub bezogen). Ich bin zwar während ich dies schreibe erst bei einem guten Drittel des Buches angekommen, aber tatsächlich schöpfte ich aus ihren Ideen erstmal wieder Motivation und v.a. die Hoffnung, dass das Elterndasein echt nicht komplett ätzend sein muss. Die Quintessenz (die den langen Beschreibungen der im Buch enthaltenen Erziehungsideen natürlich überhaupt nicht gerecht wird) ist aber salopp: das Kind einfach auch mal komplett ignorieren. Wenn das Buch es dabei schafft, das man sich nicht komplett schlecht fühlt: why not? Jetzt ist meine Erfahrung mit diesem Erziehungsansatz erst einen Tag alt, aber jungejunge, hat es mental heute für mich einen Riesenunterschied gemcht oÔ. Heute gab es viel weniger Zinober und Diskussionen, krass!
+
+## Ausflugstag
diff --git a/node_modules/.bin/prettier b/node_modules/.bin/prettier
deleted file mode 120000
index a478df3..0000000
--- a/node_modules/.bin/prettier
+++ /dev/null
@@ -1 +0,0 @@
-../prettier/bin-prettier.js
\ No newline at end of file
diff --git a/node_modules/.bin/ulid b/node_modules/.bin/ulid
deleted file mode 120000
index 8262ea0..0000000
--- a/node_modules/.bin/ulid
+++ /dev/null
@@ -1 +0,0 @@
-../ulid/bin/cli.js
\ No newline at end of file
diff --git a/node_modules/prettier-plugin-go-template/LICENSE b/node_modules/prettier-plugin-go-template/LICENSE
deleted file mode 100644
index a31eb87..0000000
--- a/node_modules/prettier-plugin-go-template/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2021 Niklas Portmann
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/prettier-plugin-go-template/README.md b/node_modules/prettier-plugin-go-template/README.md
deleted file mode 100644
index 4feee2d..0000000
--- a/node_modules/prettier-plugin-go-template/README.md
+++ /dev/null
@@ -1,197 +0,0 @@
-# prettier-plugin-go-template
-
-[](https://www.npmjs.com/package/prettier-plugin-go-template) [](https://codecov.io/gh/NiklasPor/prettier-plugin-go-template) [](#contributors-)
-
-Formatter plugin for go template files. The only peer dependency is [prettier](https://www.npmjs.com/package/prettier). Test you own code on the [**playground**](https://prettier-plugin-go-template-playground.niklaspor.dev/).
-
-```bash
-npm install --save-dev prettier prettier-plugin-go-template
-```
-
-The following file types are detected automatically:
-`.gohtml`, `.gotmpl`, `.go.tmpl`, `.tmpl`, `.tpl`, `.html.tmpl`
-
-
-
-| Input |
-Output |
-
-
-
-
-
-```html
-{{ if or .Prev .Next -}}
-{{ $p := where site.Pages }}
-
-{{ with $p.Next . -}}
-
-
-{{ end -}}
-
-{{ end -}}
-```
-
-
- |
-
-
-
-```html
-{{ if or .Prev .Next -}}
- {{ $p := where site.Pages }}
-
- {{ with $p.Next . -}}
-
-
-
- {{ end -}}
-
-{{ end -}}
-```
-
-
- |
-
-
-
-## GoHugo / `.html`
-
-To use it with GoHugo and basic `.html` files, you'll have to override the used parser inside your `.prettierrc` file:
-
-```js
-{
- overrides: [
- {
- files: ["*.html"],
- options: {
- parser: "go-template",
- },
- },
- ],
-}
-```
-
-## VSCode
-
-Make sure to always have installed **both** dependencies:
-
-- `prettier`
-- `prettier-plugin-go-template`
-
-Also make sure that they are installed inside the same scope.
-Install both globally (`npm i -g`) or locally – otherwise prettier may not pick up the plugin.
-
-> Note: The global setup additional requires setting your VSCode prettier path to your global prettier path. You can read in [this issue](https://github.com/NiklasPor/prettier-plugin-go-template/issues/58#issuecomment-1085060511) how to set it up – should be doable in less than a minute if you have npm & VSCode already running.
-
-## Additional Options
-
-```js
-// .prettierrc
-{
- /**
- * Enables & disables spacing between go statements.
- * E.g. {{ statement }} vs {{statement}}.
- * Default: true
- */
- "goTemplateBracketSpacing": true
-}
-```
-
-## Ignoring Code
-
-#### Single Block
-
-```html
-
-
- {{if }}
- {{end }}
-
-```
-
-#### Multiline
-
-```html
-
- {{/* prettier-ignore-start */}}
-
- {{/* prettier-ignore-end */}}
-
-```
-
-## Changelog
-
-### v0.0.12
-
-- Fix several formatting issues
-- Improve unformattable script & style detection
-- Huge thanks to @jasikpark for validating & cleaning up the issues 🎉
-
-### v0.0.11
-
-- AST rewrite
-- Fix inline actions
-- If / Else / Else-If support
-- Ignore formatting for blocks with `{{/* prettier-ignore */}}
-- Ignore large code sections with `{{/* prettier-ignore-start */}}...{{/* prettier-ignore-end */}}
-- Tweak general formatting
-- Support for multiline actions
-
-### v0.0.10
-
-- Resolve bug #19: Fix template comments.
-
-### v0.0.9
-
-- Resolve bug of single line if statements.
-
-### v0.0.8
-
-- Go block statements will now be indented accordingly. Except for `else`.
- - if, range, block, with, define, end
-
-### v0.0.7
-
-- Fix broken shortcodes. Thanks to @alqu for discovering & fixing the bug.
-
-## Contributors ✨
-
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
-
-
-
-
-
-
-
-
-
-
-
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
diff --git a/node_modules/prettier-plugin-go-template/lib/create-id-generator.d.ts b/node_modules/prettier-plugin-go-template/lib/create-id-generator.d.ts
deleted file mode 100644
index 1a11497..0000000
--- a/node_modules/prettier-plugin-go-template/lib/create-id-generator.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export declare function createIdGenerator(): () => string;
diff --git a/node_modules/prettier-plugin-go-template/lib/create-id-generator.js b/node_modules/prettier-plugin-go-template/lib/create-id-generator.js
deleted file mode 100644
index e19c416..0000000
--- a/node_modules/prettier-plugin-go-template/lib/create-id-generator.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.createIdGenerator = void 0;
-const ulid_1 = require("ulid");
-function createIdGenerator() {
- return () => (0, ulid_1.ulid)();
-}
-exports.createIdGenerator = createIdGenerator;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWlkLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGUtaWQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUE0QjtBQUU1QixTQUFnQixpQkFBaUI7SUFDL0IsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFBLFdBQUksR0FBRSxDQUFDO0FBQ3RCLENBQUM7QUFGRCw4Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVsaWQgfSBmcm9tIFwidWxpZFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSWRHZW5lcmF0b3IoKTogKCkgPT4gc3RyaW5nIHtcbiAgcmV0dXJuICgpID0+IHVsaWQoKTtcbn1cbiJdfQ==
\ No newline at end of file
diff --git a/node_modules/prettier-plugin-go-template/lib/index.d.ts b/node_modules/prettier-plugin-go-template/lib/index.d.ts
deleted file mode 100644
index da265dd..0000000
--- a/node_modules/prettier-plugin-go-template/lib/index.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Parser, Printer, SupportLanguage } from "prettier";
-import { GoNode } from "./parse";
-export declare type PrettierPluginGoTemplateParserOptions = {
- goTemplateBracketSpacing: boolean;
-};
-export declare const options: {
- [K in keyof PrettierPluginGoTemplateParserOptions]: any;
-};
-export declare const languages: SupportLanguage[];
-export declare const parsers: {
- "go-template": Parser;
-};
-export declare const printers: {
- "go-template": Printer;
-};
diff --git a/node_modules/prettier-plugin-go-template/lib/index.js b/node_modules/prettier-plugin-go-template/lib/index.js
deleted file mode 100644
index 83dd62f..0000000
--- a/node_modules/prettier-plugin-go-template/lib/index.js
+++ /dev/null
@@ -1,249 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.printers = exports.parsers = exports.languages = exports.options = void 0;
-const prettier_1 = require("prettier");
-const doc_1 = require("prettier/doc");
-const parser_html_1 = require("prettier/parser-html");
-const parse_1 = require("./parse");
-const htmlParser = parser_html_1.parsers.html;
-const PLUGIN_KEY = "go-template";
-exports.options = {
- goTemplateBracketSpacing: {
- type: "boolean",
- category: "Global",
- description: "Specifies whether the brackets should have spacing around the statement.",
- default: true,
- },
-};
-exports.languages = [
- {
- name: "GoTemplate",
- parsers: [PLUGIN_KEY],
- extensions: [
- ".go.html",
- ".gohtml",
- ".gotmpl",
- ".go.tmpl",
- ".tmpl",
- ".tpl",
- ".html.tmpl",
- ".html.tpl",
- ],
- vscodeLanguageIds: ["gotemplate", "gohtml", "GoTemplate", "GoHTML"],
- },
-];
-exports.parsers = {
- [PLUGIN_KEY]: {
- astFormat: PLUGIN_KEY,
- preprocess: (text) => text.endsWith("\n") ? text.slice(0, text.length - 1) : text,
- parse: parse_1.parseGoTemplate,
- locStart: (node) => node.index,
- locEnd: (node) => node.index + node.length,
- },
-};
-exports.printers = {
- [PLUGIN_KEY]: {
- print: (path, options, print) => {
- const node = path.getNode();
- switch (node === null || node === void 0 ? void 0 : node.type) {
- case "inline":
- return printInline(node, path, options, print);
- case "double-block":
- return printMultiBlock(node, path, print);
- case "unformattable":
- return printUnformattable(node, options);
- }
- throw new Error(`An error occured during printing. Found invalid node ${node === null || node === void 0 ? void 0 : node.type}.`);
- },
- embed: (path, print, textToDoc, options) => {
- try {
- return embed(path, print, textToDoc, options);
- }
- catch (e) {
- console.error("Formatting failed.", e);
- throw e;
- }
- },
- },
-};
-const embed = (path, print, textToDoc, options) => {
- const node = path.getNode();
- if (!node) {
- return null;
- }
- if (hasPrettierIgnoreLine(node)) {
- return options.originalText.substring(options.locStart(node), options.locEnd(node));
- }
- if (node.type !== "block" && node.type !== "root") {
- return null;
- }
- const html = textToDoc(node.aliasedContent, Object.assign(Object.assign({}, options), { parser: "html", parentParser: "go-template" }));
- const mapped = doc_1.utils.stripTrailingHardline(doc_1.utils.mapDoc(html, (currentDoc) => {
- if (typeof currentDoc !== "string") {
- return currentDoc;
- }
- let result = currentDoc;
- Object.keys(node.children).forEach((key) => (result = prettier_1.doc.utils.mapDoc(result, (docNode) => typeof docNode !== "string" || !docNode.includes(key)
- ? docNode
- : doc_1.builders.concat([
- docNode.substring(0, docNode.indexOf(key)),
- path.call(print, "children", key),
- docNode.substring(docNode.indexOf(key) + key.length),
- ]))));
- return result;
- }));
- if ((0, parse_1.isRoot)(node)) {
- return doc_1.builders.concat([mapped, doc_1.builders.hardline]);
- }
- const startStatement = path.call(print, "start");
- const endStatement = node.end ? path.call(print, "end") : "";
- if (isPrettierIgnoreBlock(node)) {
- return doc_1.builders.concat([
- doc_1.utils.removeLines(path.call(print, "start")),
- printPlainBlock(node.content),
- endStatement,
- ]);
- }
- const content = node.aliasedContent.trim()
- ? doc_1.builders.indent(doc_1.builders.concat([doc_1.builders.softline, mapped]))
- : "";
- const result = doc_1.builders.concat([
- startStatement,
- content,
- doc_1.builders.softline,
- endStatement,
- ]);
- const emptyLine = !!node.end && isFollowedByEmptyLine(node.end, options.originalText)
- ? doc_1.builders.softline
- : "";
- if ((0, parse_1.isMultiBlock)(node.parent)) {
- return doc_1.builders.concat([result, emptyLine]);
- }
- return doc_1.builders.group(doc_1.builders.concat([doc_1.builders.group(result), emptyLine]), {
- shouldBreak: !!node.end && hasNodeLinebreak(node.end, options.originalText),
- });
-};
-function printMultiBlock(node, path, print) {
- return doc_1.builders.concat([...path.map(print, "blocks")]);
-}
-function isFollowedByNode(node) {
- const parent = getFirstBlockParent(node).parent;
- const start = parent.aliasedContent.indexOf(node.id) + node.id.length;
- let nextNodeIndex = -1;
- Object.keys(parent.children).forEach((key) => {
- const index = parent.aliasedContent.indexOf(key, start);
- if (nextNodeIndex == -1 || index < nextNodeIndex) {
- nextNodeIndex = index;
- }
- });
- return !!parent.aliasedContent
- .substring(start, nextNodeIndex)
- .match(/^\s+$/m);
-}
-function printInline(node, path, options, print) {
- const isBlockNode = isBlockEnd(node) || isBlockStart(node);
- const emptyLine = isFollowedByEmptyLine(node, options.originalText) && isFollowedByNode(node)
- ? doc_1.builders.softline
- : "";
- const result = [
- printStatement(node.statement, options.goTemplateBracketSpacing, {
- start: node.startDelimiter,
- end: node.endDelimiter,
- }),
- ];
- return doc_1.builders.group(doc_1.builders.concat([...result, emptyLine]), {
- shouldBreak: hasNodeLinebreak(node, options.originalText) && !isBlockNode,
- });
-}
-function isBlockEnd(node) {
- const { parent } = getFirstBlockParent(node);
- return (0, parse_1.isBlock)(parent) && parent.end === node;
-}
-function isBlockStart(node) {
- const { parent } = getFirstBlockParent(node);
- return (0, parse_1.isBlock)(parent) && parent.start === node;
-}
-function printStatement(statement, addSpaces, delimiter = {
- start: "",
- end: "",
-}) {
- const space = addSpaces ? " " : "";
- const shouldBreak = statement.includes("\n");
- const content = shouldBreak
- ? statement
- .trim()
- .split("\n")
- .map((line, _, array) => array.indexOf(line) === array.length - 1
- ? doc_1.builders.concat([line.trim(), doc_1.builders.softline])
- : doc_1.builders.indent(doc_1.builders.concat([line.trim(), doc_1.builders.softline])))
- : [statement.trim()];
- return doc_1.builders.group(doc_1.builders.concat([
- "{{",
- delimiter.start,
- space,
- ...content,
- shouldBreak ? "" : space,
- delimiter.end,
- "}}",
- ]), { shouldBreak });
-}
-function hasPrettierIgnoreLine(node) {
- if ((0, parse_1.isRoot)(node)) {
- return false;
- }
- const { parent, child } = getFirstBlockParent(node);
- const regex = new RegExp(`(?:|}})\n.*${child.id}`);
- return !!parent.aliasedContent.match(regex);
-}
-function isPrettierIgnoreBlock(node) {
- return (0, parse_1.isBlock)(node) && node.keyword === "prettier-ignore-start";
-}
-function hasNodeLinebreak(node, source) {
- const start = node.index + node.length;
- const end = source.indexOf("\n", start);
- const suffix = source.substring(start, end);
- return !suffix;
-}
-function isFollowedByEmptyLine(node, source) {
- const start = node.index + node.length;
- const firstLineBreak = source.indexOf("\n", start);
- const secondLineBreak = source.indexOf("\n", firstLineBreak + 1);
- const emptyLine = source
- .substring(firstLineBreak + 1, secondLineBreak)
- .trim();
- const isLastNode = !!source.substring(start).match(/^\s*$/);
- return (firstLineBreak !== -1 && secondLineBreak !== -1 && !emptyLine && !isLastNode);
-}
-function getFirstBlockParent(node) {
- let previous = node;
- let current = node.parent;
- while (!(0, parse_1.isBlock)(current) && !(0, parse_1.isRoot)(current)) {
- previous = current;
- current = current.parent;
- }
- return {
- child: previous,
- parent: current,
- };
-}
-function printUnformattable(node, options) {
- var _a, _b;
- const start = options.originalText.lastIndexOf("\n", node.index - 1);
- const line = options.originalText.substring(start, node.index + node.length);
- const lineWithoutAdditionalContent = (_b = (_a = line.replace(node.content, "").match(/\s*$/)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : "";
- return printPlainBlock(lineWithoutAdditionalContent + node.content, false);
-}
-function printPlainBlock(text, hardlines = true) {
- const isTextEmpty = (input) => !!input.match(/^\s*$/);
- const lines = text.split("\n");
- const segments = lines.filter((value, i) => !(i == 0 || i == lines.length - 1) || !isTextEmpty(value));
- return doc_1.builders.concat([
- ...segments.map((content, i) => doc_1.builders.concat([
- hardlines || i ? doc_1.builders.hardline : "",
- doc_1.builders.trim,
- content,
- ])),
- hardlines ? doc_1.builders.hardline : "",
- ]);
-}
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBT2tCO0FBQ2xCLHNDQUErQztBQUMvQyxzREFBOEQ7QUFDOUQsbUNBYWlCO0FBRWpCLE1BQU0sVUFBVSxHQUFHLHFCQUFXLENBQUMsSUFBSSxDQUFDO0FBQ3BDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQztBQVNwQixRQUFBLE9BQU8sR0FFaEI7SUFDRix3QkFBd0IsRUFBRTtRQUN4QixJQUFJLEVBQUUsU0FBUztRQUNmLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFdBQVcsRUFDVCwwRUFBMEU7UUFDNUUsT0FBTyxFQUFFLElBQUk7S0FDZDtDQUNGLENBQUM7QUFFVyxRQUFBLFNBQVMsR0FBc0I7SUFDMUM7UUFDRSxJQUFJLEVBQUUsWUFBWTtRQUNsQixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDckIsVUFBVSxFQUFFO1lBQ1YsVUFBVTtZQUNWLFNBQVM7WUFDVCxTQUFTO1lBQ1QsVUFBVTtZQUNWLE9BQU87WUFDUCxNQUFNO1lBQ04sWUFBWTtZQUNaLFdBQVc7U0FDWjtRQUNELGlCQUFpQixFQUFFLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0tBQ3BFO0NBQ0YsQ0FBQztBQUNXLFFBQUEsT0FBTyxHQUFHO0lBQ3JCLENBQUMsVUFBVSxDQUFDLEVBQWtCO1FBQzVCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBRW5CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDN0QsS0FBSyxFQUFFLHVCQUFlO1FBQ3RCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUs7UUFDOUIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNO0tBQzNDO0NBQ0YsQ0FBQztBQUNXLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLENBQUMsVUFBVSxDQUFDLEVBQW1CO1FBQzdCLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxPQUE4QixFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3JELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUU1QixRQUFRLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLEVBQUU7Z0JBQ2xCLEtBQUssUUFBUTtvQkFDWCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDakQsS0FBSyxjQUFjO29CQUNqQixPQUFPLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM1QyxLQUFLLGVBQWU7b0JBQ2xCLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzVDO1lBRUQsTUFBTSxJQUFJLEtBQUssQ0FDYix3REFBd0QsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLElBQUksR0FBRyxDQUN0RSxDQUFDO1FBQ0osQ0FBQztRQUNELEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3pDLElBQUk7Z0JBQ0YsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDL0M7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN2QyxNQUFNLENBQUMsQ0FBQzthQUNUO1FBQ0gsQ0FBQztLQUNGO0NBQ0YsQ0FBQztBQUVGLE1BQU0sS0FBSyxHQUFpRCxDQUMxRCxJQUFJLEVBQ0osS0FBSyxFQUNMLFNBQVMsRUFDVCxPQUFPLEVBQ1AsRUFBRTtJQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUU1QixJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDL0IsT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDbkMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDdEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDckIsQ0FBQztLQUNIO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtRQUNqRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLGtDQUNyQyxPQUFPLEtBQ1YsTUFBTSxFQUFFLE1BQU0sRUFDZCxZQUFZLEVBQUUsYUFBYSxJQUMzQixDQUFDO0lBRUgsTUFBTSxNQUFNLEdBQUcsV0FBSyxDQUFDLHFCQUFxQixDQUN4QyxXQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ2hDLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFO1lBQ2xDLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsSUFBSSxNQUFNLEdBQWlCLFVBQVUsQ0FBQztRQUV0QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQ2hDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixDQUFDLE1BQU0sR0FBRyxjQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUM3QyxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNuRCxDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxjQUFRLENBQUMsTUFBTSxDQUFDO2dCQUNkLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUM7Z0JBQ2pDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO2FBQ3JELENBQUMsQ0FDUCxDQUFDLENBQ0wsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFFRixJQUFJLElBQUEsY0FBTSxFQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2hCLE9BQU8sY0FBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxjQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztLQUNyRDtJQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFN0QsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMvQixPQUFPLGNBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckIsV0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM1QyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QixZQUFZO1NBQ2IsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRTtRQUN4QyxDQUFDLENBQUMsY0FBUSxDQUFDLE1BQU0sQ0FBQyxjQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFUCxNQUFNLE1BQU0sR0FBRyxjQUFRLENBQUMsTUFBTSxDQUFDO1FBQzdCLGNBQWM7UUFDZCxPQUFPO1FBQ1AsY0FBUSxDQUFDLFFBQVE7UUFDakIsWUFBWTtLQUNiLENBQUMsQ0FBQztJQUVILE1BQU0sU0FBUyxHQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUNqRSxDQUFDLENBQUMsY0FBUSxDQUFDLFFBQVE7UUFDbkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUVULElBQUksSUFBQSxvQkFBWSxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUM3QixPQUFPLGNBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUM3QztJQUVELE9BQU8sY0FBUSxDQUFDLEtBQUssQ0FBQyxjQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFO1FBQzFFLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUM7S0FDNUUsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBSUYsU0FBUyxlQUFlLENBQ3RCLElBQWtCLEVBQ2xCLElBQXNCLEVBQ3RCLEtBQWM7SUFFZCxPQUFPLGNBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFjO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFFdEUsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDM0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hELElBQUksYUFBYSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxhQUFhLEVBQUU7WUFDaEQsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUN2QjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWM7U0FDM0IsU0FBUyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUM7U0FDL0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FDbEIsSUFBYyxFQUNkLElBQXNCLEVBQ3RCLE9BQThCLEVBQzlCLEtBQWM7SUFFZCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELE1BQU0sU0FBUyxHQUNiLHFCQUFxQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxjQUFRLENBQUMsUUFBUTtRQUNuQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBRVQsTUFBTSxNQUFNLEdBQW1CO1FBQzdCLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRTtZQUMvRCxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDMUIsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ3ZCLENBQUM7S0FDSCxDQUFDO0lBRUYsT0FBTyxjQUFRLENBQUMsS0FBSyxDQUFDLGNBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFO1FBQzdELFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVztLQUMxRSxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBYztJQUNoQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsT0FBTyxJQUFBLGVBQU8sRUFBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQztBQUNoRCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBYztJQUNsQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsT0FBTyxJQUFBLGVBQU8sRUFBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQ3JCLFNBQWlCLEVBQ2pCLFNBQWtCLEVBQ2xCLFlBQTBFO0lBQ3hFLEtBQUssRUFBRSxFQUFFO0lBQ1QsR0FBRyxFQUFFLEVBQUU7Q0FDUjtJQUVELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QyxNQUFNLE9BQU8sR0FBRyxXQUFXO1FBQ3pCLENBQUMsQ0FBQyxTQUFTO2FBQ04sSUFBSSxFQUFFO2FBQ04sS0FBSyxDQUFDLElBQUksQ0FBQzthQUNYLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDdEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDdEMsQ0FBQyxDQUFDLGNBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsY0FBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxjQUFRLENBQUMsTUFBTSxDQUFDLGNBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsY0FBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDdkU7UUFDTCxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUV2QixPQUFPLGNBQVEsQ0FBQyxLQUFLLENBQ25CLGNBQVEsQ0FBQyxNQUFNLENBQUM7UUFDZCxJQUFJO1FBQ0osU0FBUyxDQUFDLEtBQUs7UUFDZixLQUFLO1FBQ0wsR0FBRyxPQUFPO1FBQ1YsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDeEIsU0FBUyxDQUFDLEdBQUc7UUFDYixJQUFJO0tBQ0wsQ0FBQyxFQUNGLEVBQUUsV0FBVyxFQUFFLENBQ2hCLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxJQUFZO0lBQ3pDLElBQUksSUFBQSxjQUFNLEVBQUMsSUFBSSxDQUFDLEVBQUU7UUFDaEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQ3RCLGlEQUFpRCxLQUFLLENBQUMsRUFBRSxFQUFFLENBQzVELENBQUM7SUFFRixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxJQUFZO0lBQ3pDLE9BQU8sSUFBQSxlQUFPLEVBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyx1QkFBdUIsQ0FBQztBQUNuRSxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFjLEVBQUUsTUFBYztJQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFNUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUNqQixDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxJQUFjLEVBQUUsTUFBYztJQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sU0FBUyxHQUFHLE1BQU07U0FDckIsU0FBUyxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsZUFBZSxDQUFDO1NBQzlDLElBQUksRUFBRSxDQUFDO0lBQ1YsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTVELE9BQU8sQ0FDTCxjQUFjLEtBQUssQ0FBQyxDQUFDLElBQUksZUFBZSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsVUFBVSxDQUM3RSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsSUFBNkI7SUFJeEQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFFMUIsT0FBTyxDQUFDLElBQUEsZUFBTyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBQSxjQUFNLEVBQUMsT0FBTyxDQUFDLEVBQUU7UUFDNUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNuQixPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztLQUMxQjtJQUVELE9BQU87UUFDTCxLQUFLLEVBQUUsUUFBUTtRQUNmLE1BQU0sRUFBRSxPQUFPO0tBQ2hCLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FDekIsSUFBcUIsRUFDckIsT0FBOEI7O0lBRTlCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RSxNQUFNLDRCQUE0QixHQUNoQyxNQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsMENBQUcsQ0FBQyxDQUFDLG1DQUFJLEVBQUUsQ0FBQztJQUUxRCxPQUFPLGVBQWUsQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxJQUFZLEVBQUUsU0FBUyxHQUFHLElBQUk7SUFDckQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTlELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFL0IsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDM0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FDeEUsQ0FBQztJQUVGLE9BQU8sY0FBUSxDQUFDLE1BQU0sQ0FBQztRQUNyQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDN0IsY0FBUSxDQUFDLE1BQU0sQ0FBQztZQUNkLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkMsY0FBUSxDQUFDLElBQUk7WUFDYixPQUFPO1NBQ1IsQ0FBQyxDQUNIO1FBQ0QsU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO0tBQ25DLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBkb2MsXG4gIEZhc3RQYXRoLFxuICBQYXJzZXIsXG4gIFBhcnNlck9wdGlvbnMsXG4gIFByaW50ZXIsXG4gIFN1cHBvcnRMYW5ndWFnZSxcbn0gZnJvbSBcInByZXR0aWVyXCI7XG5pbXBvcnQgeyBidWlsZGVycywgdXRpbHMgfSBmcm9tIFwicHJldHRpZXIvZG9jXCI7XG5pbXBvcnQgeyBwYXJzZXJzIGFzIGh0bWxQYXJzZXJzIH0gZnJvbSBcInByZXR0aWVyL3BhcnNlci1odG1sXCI7XG5pbXBvcnQge1xuICBHb0Jsb2NrLFxuICBHb0lubGluZSxcbiAgR29JbmxpbmVFbmREZWxpbWl0ZXIsXG4gIEdvSW5saW5lU3RhcnREZWxpbWl0ZXIsXG4gIEdvTXVsdGlCbG9jayxcbiAgR29Ob2RlLFxuICBHb1Jvb3QsXG4gIEdvVW5mb3JtYXR0YWJsZSxcbiAgaXNCbG9jayxcbiAgaXNNdWx0aUJsb2NrLFxuICBpc1Jvb3QsXG4gIHBhcnNlR29UZW1wbGF0ZSxcbn0gZnJvbSBcIi4vcGFyc2VcIjtcblxuY29uc3QgaHRtbFBhcnNlciA9IGh0bWxQYXJzZXJzLmh0bWw7XG5jb25zdCBQTFVHSU5fS0VZID0gXCJnby10ZW1wbGF0ZVwiO1xuXG50eXBlIEV4dGVuZGVkUGFyc2VyT3B0aW9ucyA9IFBhcnNlck9wdGlvbnM8R29Ob2RlPiAmXG4gIFByZXR0aWVyUGx1Z2luR29UZW1wbGF0ZVBhcnNlck9wdGlvbnM7XG5cbmV4cG9ydCB0eXBlIFByZXR0aWVyUGx1Z2luR29UZW1wbGF0ZVBhcnNlck9wdGlvbnMgPSB7XG4gIGdvVGVtcGxhdGVCcmFja2V0U3BhY2luZzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBvcHRpb25zOiB7XG4gIFtLIGluIGtleW9mIFByZXR0aWVyUGx1Z2luR29UZW1wbGF0ZVBhcnNlck9wdGlvbnNdOiBhbnk7XG59ID0ge1xuICBnb1RlbXBsYXRlQnJhY2tldFNwYWNpbmc6IHtcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBjYXRlZ29yeTogXCJHbG9iYWxcIixcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGJyYWNrZXRzIHNob3VsZCBoYXZlIHNwYWNpbmcgYXJvdW5kIHRoZSBzdGF0ZW1lbnQuXCIsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBsYW5ndWFnZXM6IFN1cHBvcnRMYW5ndWFnZVtdID0gW1xuICB7XG4gICAgbmFtZTogXCJHb1RlbXBsYXRlXCIsXG4gICAgcGFyc2VyczogW1BMVUdJTl9LRVldLFxuICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgIFwiLmdvLmh0bWxcIixcbiAgICAgIFwiLmdvaHRtbFwiLFxuICAgICAgXCIuZ290bXBsXCIsXG4gICAgICBcIi5nby50bXBsXCIsXG4gICAgICBcIi50bXBsXCIsXG4gICAgICBcIi50cGxcIixcbiAgICAgIFwiLmh0bWwudG1wbFwiLFxuICAgICAgXCIuaHRtbC50cGxcIixcbiAgICBdLFxuICAgIHZzY29kZUxhbmd1YWdlSWRzOiBbXCJnb3RlbXBsYXRlXCIsIFwiZ29odG1sXCIsIFwiR29UZW1wbGF0ZVwiLCBcIkdvSFRNTFwiXSxcbiAgfSxcbl07XG5leHBvcnQgY29uc3QgcGFyc2VycyA9IHtcbiAgW1BMVUdJTl9LRVldOiA8UGFyc2VyPEdvTm9kZT4+e1xuICAgIGFzdEZvcm1hdDogUExVR0lOX0tFWSxcbiAgICBwcmVwcm9jZXNzOiAodGV4dCkgPT5cbiAgICAgIC8vIEN1dCBhd2F5IHRyYWlsaW5nIG5ld2xpbmUgdG8gbm9ybWFsaXplIGZvcm1hdHRpbmcuXG4gICAgICB0ZXh0LmVuZHNXaXRoKFwiXFxuXCIpID8gdGV4dC5zbGljZSgwLCB0ZXh0Lmxlbmd0aCAtIDEpIDogdGV4dCxcbiAgICBwYXJzZTogcGFyc2VHb1RlbXBsYXRlLFxuICAgIGxvY1N0YXJ0OiAobm9kZSkgPT4gbm9kZS5pbmRleCxcbiAgICBsb2NFbmQ6IChub2RlKSA9PiBub2RlLmluZGV4ICsgbm9kZS5sZW5ndGgsXG4gIH0sXG59O1xuZXhwb3J0IGNvbnN0IHByaW50ZXJzID0ge1xuICBbUExVR0lOX0tFWV06IDxQcmludGVyPEdvTm9kZT4+e1xuICAgIHByaW50OiAocGF0aCwgb3B0aW9uczogRXh0ZW5kZWRQYXJzZXJPcHRpb25zLCBwcmludCkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IHBhdGguZ2V0Tm9kZSgpO1xuXG4gICAgICBzd2l0Y2ggKG5vZGU/LnR5cGUpIHtcbiAgICAgICAgY2FzZSBcImlubGluZVwiOlxuICAgICAgICAgIHJldHVybiBwcmludElubGluZShub2RlLCBwYXRoLCBvcHRpb25zLCBwcmludCk7XG4gICAgICAgIGNhc2UgXCJkb3VibGUtYmxvY2tcIjpcbiAgICAgICAgICByZXR1cm4gcHJpbnRNdWx0aUJsb2NrKG5vZGUsIHBhdGgsIHByaW50KTtcbiAgICAgICAgY2FzZSBcInVuZm9ybWF0dGFibGVcIjpcbiAgICAgICAgICByZXR1cm4gcHJpbnRVbmZvcm1hdHRhYmxlKG5vZGUsIG9wdGlvbnMpO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBbiBlcnJvciBvY2N1cmVkIGR1cmluZyBwcmludGluZy4gRm91bmQgaW52YWxpZCBub2RlICR7bm9kZT8udHlwZX0uYFxuICAgICAgKTtcbiAgICB9LFxuICAgIGVtYmVkOiAocGF0aCwgcHJpbnQsIHRleHRUb0RvYywgb3B0aW9ucykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGVtYmVkKHBhdGgsIHByaW50LCB0ZXh0VG9Eb2MsIG9wdGlvbnMpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRm9ybWF0dGluZyBmYWlsZWQuXCIsIGUpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH0sXG4gIH0sXG59O1xuXG5jb25zdCBlbWJlZDogRXhjbHVkZTxQcmludGVyPEdvTm9kZT5bXCJlbWJlZFwiXSwgdW5kZWZpbmVkPiA9IChcbiAgcGF0aCxcbiAgcHJpbnQsXG4gIHRleHRUb0RvYyxcbiAgb3B0aW9uc1xuKSA9PiB7XG4gIGNvbnN0IG5vZGUgPSBwYXRoLmdldE5vZGUoKTtcblxuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChoYXNQcmV0dGllcklnbm9yZUxpbmUobm9kZSkpIHtcbiAgICByZXR1cm4gb3B0aW9ucy5vcmlnaW5hbFRleHQuc3Vic3RyaW5nKFxuICAgICAgb3B0aW9ucy5sb2NTdGFydChub2RlKSxcbiAgICAgIG9wdGlvbnMubG9jRW5kKG5vZGUpXG4gICAgKTtcbiAgfVxuXG4gIGlmIChub2RlLnR5cGUgIT09IFwiYmxvY2tcIiAmJiBub2RlLnR5cGUgIT09IFwicm9vdFwiKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBodG1sID0gdGV4dFRvRG9jKG5vZGUuYWxpYXNlZENvbnRlbnQsIHtcbiAgICAuLi5vcHRpb25zLFxuICAgIHBhcnNlcjogXCJodG1sXCIsXG4gICAgcGFyZW50UGFyc2VyOiBcImdvLXRlbXBsYXRlXCIsXG4gIH0pO1xuXG4gIGNvbnN0IG1hcHBlZCA9IHV0aWxzLnN0cmlwVHJhaWxpbmdIYXJkbGluZShcbiAgICB1dGlscy5tYXBEb2MoaHRtbCwgKGN1cnJlbnREb2MpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgY3VycmVudERvYyAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gY3VycmVudERvYztcbiAgICAgIH1cblxuICAgICAgbGV0IHJlc3VsdDogYnVpbGRlcnMuRG9jID0gY3VycmVudERvYztcblxuICAgICAgT2JqZWN0LmtleXMobm9kZS5jaGlsZHJlbikuZm9yRWFjaChcbiAgICAgICAgKGtleSkgPT5cbiAgICAgICAgICAocmVzdWx0ID0gZG9jLnV0aWxzLm1hcERvYyhyZXN1bHQsIChkb2NOb2RlKSA9PlxuICAgICAgICAgICAgdHlwZW9mIGRvY05vZGUgIT09IFwic3RyaW5nXCIgfHwgIWRvY05vZGUuaW5jbHVkZXMoa2V5KVxuICAgICAgICAgICAgICA/IGRvY05vZGVcbiAgICAgICAgICAgICAgOiBidWlsZGVycy5jb25jYXQoW1xuICAgICAgICAgICAgICAgICAgZG9jTm9kZS5zdWJzdHJpbmcoMCwgZG9jTm9kZS5pbmRleE9mKGtleSkpLFxuICAgICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImNoaWxkcmVuXCIsIGtleSksXG4gICAgICAgICAgICAgICAgICBkb2NOb2RlLnN1YnN0cmluZyhkb2NOb2RlLmluZGV4T2Yoa2V5KSArIGtleS5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgKSlcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSlcbiAgKTtcblxuICBpZiAoaXNSb290KG5vZGUpKSB7XG4gICAgcmV0dXJuIGJ1aWxkZXJzLmNvbmNhdChbbWFwcGVkLCBidWlsZGVycy5oYXJkbGluZV0pO1xuICB9XG5cbiAgY29uc3Qgc3RhcnRTdGF0ZW1lbnQgPSBwYXRoLmNhbGwocHJpbnQsIFwic3RhcnRcIik7XG4gIGNvbnN0IGVuZFN0YXRlbWVudCA9IG5vZGUuZW5kID8gcGF0aC5jYWxsKHByaW50LCBcImVuZFwiKSA6IFwiXCI7XG5cbiAgaWYgKGlzUHJldHRpZXJJZ25vcmVCbG9jayhub2RlKSkge1xuICAgIHJldHVybiBidWlsZGVycy5jb25jYXQoW1xuICAgICAgdXRpbHMucmVtb3ZlTGluZXMocGF0aC5jYWxsKHByaW50LCBcInN0YXJ0XCIpKSxcbiAgICAgIHByaW50UGxhaW5CbG9jayhub2RlLmNvbnRlbnQpLFxuICAgICAgZW5kU3RhdGVtZW50LFxuICAgIF0pO1xuICB9XG5cbiAgY29uc3QgY29udGVudCA9IG5vZGUuYWxpYXNlZENvbnRlbnQudHJpbSgpXG4gICAgPyBidWlsZGVycy5pbmRlbnQoYnVpbGRlcnMuY29uY2F0KFtidWlsZGVycy5zb2Z0bGluZSwgbWFwcGVkXSkpXG4gICAgOiBcIlwiO1xuXG4gIGNvbnN0IHJlc3VsdCA9IGJ1aWxkZXJzLmNvbmNhdChbXG4gICAgc3RhcnRTdGF0ZW1lbnQsXG4gICAgY29udGVudCxcbiAgICBidWlsZGVycy5zb2Z0bGluZSxcbiAgICBlbmRTdGF0ZW1lbnQsXG4gIF0pO1xuXG4gIGNvbnN0IGVtcHR5TGluZSA9XG4gICAgISFub2RlLmVuZCAmJiBpc0ZvbGxvd2VkQnlFbXB0eUxpbmUobm9kZS5lbmQsIG9wdGlvbnMub3JpZ2luYWxUZXh0KVxuICAgICAgPyBidWlsZGVycy5zb2Z0bGluZVxuICAgICAgOiBcIlwiO1xuXG4gIGlmIChpc011bHRpQmxvY2sobm9kZS5wYXJlbnQpKSB7XG4gICAgcmV0dXJuIGJ1aWxkZXJzLmNvbmNhdChbcmVzdWx0LCBlbXB0eUxpbmVdKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZGVycy5ncm91cChidWlsZGVycy5jb25jYXQoW2J1aWxkZXJzLmdyb3VwKHJlc3VsdCksIGVtcHR5TGluZV0pLCB7XG4gICAgc2hvdWxkQnJlYWs6ICEhbm9kZS5lbmQgJiYgaGFzTm9kZUxpbmVicmVhayhub2RlLmVuZCwgb3B0aW9ucy5vcmlnaW5hbFRleHQpLFxuICB9KTtcbn07XG5cbnR5cGUgUHJpbnRGbiA9IChwYXRoOiBGYXN0UGF0aDxHb05vZGU+KSA9PiBidWlsZGVycy5Eb2M7XG5cbmZ1bmN0aW9uIHByaW50TXVsdGlCbG9jayhcbiAgbm9kZTogR29NdWx0aUJsb2NrLFxuICBwYXRoOiBGYXN0UGF0aDxHb05vZGU+LFxuICBwcmludDogUHJpbnRGblxuKTogYnVpbGRlcnMuRG9jIHtcbiAgcmV0dXJuIGJ1aWxkZXJzLmNvbmNhdChbLi4ucGF0aC5tYXAocHJpbnQsIFwiYmxvY2tzXCIpXSk7XG59XG5cbmZ1bmN0aW9uIGlzRm9sbG93ZWRCeU5vZGUobm9kZTogR29JbmxpbmUpOiBib29sZWFuIHtcbiAgY29uc3QgcGFyZW50ID0gZ2V0Rmlyc3RCbG9ja1BhcmVudChub2RlKS5wYXJlbnQ7XG4gIGNvbnN0IHN0YXJ0ID0gcGFyZW50LmFsaWFzZWRDb250ZW50LmluZGV4T2Yobm9kZS5pZCkgKyBub2RlLmlkLmxlbmd0aDtcblxuICBsZXQgbmV4dE5vZGVJbmRleCA9IC0xO1xuICBPYmplY3Qua2V5cyhwYXJlbnQuY2hpbGRyZW4pLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGNvbnN0IGluZGV4ID0gcGFyZW50LmFsaWFzZWRDb250ZW50LmluZGV4T2Yoa2V5LCBzdGFydCk7XG4gICAgaWYgKG5leHROb2RlSW5kZXggPT0gLTEgfHwgaW5kZXggPCBuZXh0Tm9kZUluZGV4KSB7XG4gICAgICBuZXh0Tm9kZUluZGV4ID0gaW5kZXg7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gISFwYXJlbnQuYWxpYXNlZENvbnRlbnRcbiAgICAuc3Vic3RyaW5nKHN0YXJ0LCBuZXh0Tm9kZUluZGV4KVxuICAgIC5tYXRjaCgvXlxccyskL20pO1xufVxuXG5mdW5jdGlvbiBwcmludElubGluZShcbiAgbm9kZTogR29JbmxpbmUsXG4gIHBhdGg6IEZhc3RQYXRoPEdvTm9kZT4sXG4gIG9wdGlvbnM6IEV4dGVuZGVkUGFyc2VyT3B0aW9ucyxcbiAgcHJpbnQ6IFByaW50Rm5cbik6IGJ1aWxkZXJzLkRvYyB7XG4gIGNvbnN0IGlzQmxvY2tOb2RlID0gaXNCbG9ja0VuZChub2RlKSB8fCBpc0Jsb2NrU3RhcnQobm9kZSk7XG4gIGNvbnN0IGVtcHR5TGluZSA9XG4gICAgaXNGb2xsb3dlZEJ5RW1wdHlMaW5lKG5vZGUsIG9wdGlvbnMub3JpZ2luYWxUZXh0KSAmJiBpc0ZvbGxvd2VkQnlOb2RlKG5vZGUpXG4gICAgICA/IGJ1aWxkZXJzLnNvZnRsaW5lXG4gICAgICA6IFwiXCI7XG5cbiAgY29uc3QgcmVzdWx0OiBidWlsZGVycy5Eb2NbXSA9IFtcbiAgICBwcmludFN0YXRlbWVudChub2RlLnN0YXRlbWVudCwgb3B0aW9ucy5nb1RlbXBsYXRlQnJhY2tldFNwYWNpbmcsIHtcbiAgICAgIHN0YXJ0OiBub2RlLnN0YXJ0RGVsaW1pdGVyLFxuICAgICAgZW5kOiBub2RlLmVuZERlbGltaXRlcixcbiAgICB9KSxcbiAgXTtcblxuICByZXR1cm4gYnVpbGRlcnMuZ3JvdXAoYnVpbGRlcnMuY29uY2F0KFsuLi5yZXN1bHQsIGVtcHR5TGluZV0pLCB7XG4gICAgc2hvdWxkQnJlYWs6IGhhc05vZGVMaW5lYnJlYWsobm9kZSwgb3B0aW9ucy5vcmlnaW5hbFRleHQpICYmICFpc0Jsb2NrTm9kZSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGlzQmxvY2tFbmQobm9kZTogR29JbmxpbmUpIHtcbiAgY29uc3QgeyBwYXJlbnQgfSA9IGdldEZpcnN0QmxvY2tQYXJlbnQobm9kZSk7XG4gIHJldHVybiBpc0Jsb2NrKHBhcmVudCkgJiYgcGFyZW50LmVuZCA9PT0gbm9kZTtcbn1cblxuZnVuY3Rpb24gaXNCbG9ja1N0YXJ0KG5vZGU6IEdvSW5saW5lKSB7XG4gIGNvbnN0IHsgcGFyZW50IH0gPSBnZXRGaXJzdEJsb2NrUGFyZW50KG5vZGUpO1xuICByZXR1cm4gaXNCbG9jayhwYXJlbnQpICYmIHBhcmVudC5zdGFydCA9PT0gbm9kZTtcbn1cblxuZnVuY3Rpb24gcHJpbnRTdGF0ZW1lbnQoXG4gIHN0YXRlbWVudDogc3RyaW5nLFxuICBhZGRTcGFjZXM6IGJvb2xlYW4sXG4gIGRlbGltaXRlcjogeyBzdGFydDogR29JbmxpbmVTdGFydERlbGltaXRlcjsgZW5kOiBHb0lubGluZUVuZERlbGltaXRlciB9ID0ge1xuICAgIHN0YXJ0OiBcIlwiLFxuICAgIGVuZDogXCJcIixcbiAgfVxuKSB7XG4gIGNvbnN0IHNwYWNlID0gYWRkU3BhY2VzID8gXCIgXCIgOiBcIlwiO1xuICBjb25zdCBzaG91bGRCcmVhayA9IHN0YXRlbWVudC5pbmNsdWRlcyhcIlxcblwiKTtcblxuICBjb25zdCBjb250ZW50ID0gc2hvdWxkQnJlYWtcbiAgICA/IHN0YXRlbWVudFxuICAgICAgICAudHJpbSgpXG4gICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAubWFwKChsaW5lLCBfLCBhcnJheSkgPT5cbiAgICAgICAgICBhcnJheS5pbmRleE9mKGxpbmUpID09PSBhcnJheS5sZW5ndGggLSAxXG4gICAgICAgICAgICA/IGJ1aWxkZXJzLmNvbmNhdChbbGluZS50cmltKCksIGJ1aWxkZXJzLnNvZnRsaW5lXSlcbiAgICAgICAgICAgIDogYnVpbGRlcnMuaW5kZW50KGJ1aWxkZXJzLmNvbmNhdChbbGluZS50cmltKCksIGJ1aWxkZXJzLnNvZnRsaW5lXSkpXG4gICAgICAgIClcbiAgICA6IFtzdGF0ZW1lbnQudHJpbSgpXTtcblxuICByZXR1cm4gYnVpbGRlcnMuZ3JvdXAoXG4gICAgYnVpbGRlcnMuY29uY2F0KFtcbiAgICAgIFwie3tcIixcbiAgICAgIGRlbGltaXRlci5zdGFydCxcbiAgICAgIHNwYWNlLFxuICAgICAgLi4uY29udGVudCxcbiAgICAgIHNob3VsZEJyZWFrID8gXCJcIiA6IHNwYWNlLFxuICAgICAgZGVsaW1pdGVyLmVuZCxcbiAgICAgIFwifX1cIixcbiAgICBdKSxcbiAgICB7IHNob3VsZEJyZWFrIH1cbiAgKTtcbn1cblxuZnVuY3Rpb24gaGFzUHJldHRpZXJJZ25vcmVMaW5lKG5vZGU6IEdvTm9kZSkge1xuICBpZiAoaXNSb290KG5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgeyBwYXJlbnQsIGNoaWxkIH0gPSBnZXRGaXJzdEJsb2NrUGFyZW50KG5vZGUpO1xuXG4gIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICBgKD86PCEtLXx7eykuKj9wcmV0dGllci1pZ25vcmUuKj8oPzotLT58fX0pXFxuLioke2NoaWxkLmlkfWBcbiAgKTtcblxuICByZXR1cm4gISFwYXJlbnQuYWxpYXNlZENvbnRlbnQubWF0Y2gocmVnZXgpO1xufVxuXG5mdW5jdGlvbiBpc1ByZXR0aWVySWdub3JlQmxvY2sobm9kZTogR29Ob2RlKSB7XG4gIHJldHVybiBpc0Jsb2NrKG5vZGUpICYmIG5vZGUua2V5d29yZCA9PT0gXCJwcmV0dGllci1pZ25vcmUtc3RhcnRcIjtcbn1cblxuZnVuY3Rpb24gaGFzTm9kZUxpbmVicmVhayhub2RlOiBHb0lubGluZSwgc291cmNlOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3RhcnQgPSBub2RlLmluZGV4ICsgbm9kZS5sZW5ndGg7XG4gIGNvbnN0IGVuZCA9IHNvdXJjZS5pbmRleE9mKFwiXFxuXCIsIHN0YXJ0KTtcbiAgY29uc3Qgc3VmZml4ID0gc291cmNlLnN1YnN0cmluZyhzdGFydCwgZW5kKTtcblxuICByZXR1cm4gIXN1ZmZpeDtcbn1cblxuZnVuY3Rpb24gaXNGb2xsb3dlZEJ5RW1wdHlMaW5lKG5vZGU6IEdvSW5saW5lLCBzb3VyY2U6IHN0cmluZykge1xuICBjb25zdCBzdGFydCA9IG5vZGUuaW5kZXggKyBub2RlLmxlbmd0aDtcbiAgY29uc3QgZmlyc3RMaW5lQnJlYWsgPSBzb3VyY2UuaW5kZXhPZihcIlxcblwiLCBzdGFydCk7XG4gIGNvbnN0IHNlY29uZExpbmVCcmVhayA9IHNvdXJjZS5pbmRleE9mKFwiXFxuXCIsIGZpcnN0TGluZUJyZWFrICsgMSk7XG4gIGNvbnN0IGVtcHR5TGluZSA9IHNvdXJjZVxuICAgIC5zdWJzdHJpbmcoZmlyc3RMaW5lQnJlYWsgKyAxLCBzZWNvbmRMaW5lQnJlYWspXG4gICAgLnRyaW0oKTtcbiAgY29uc3QgaXNMYXN0Tm9kZSA9ICEhc291cmNlLnN1YnN0cmluZyhzdGFydCkubWF0Y2goL15cXHMqJC8pO1xuXG4gIHJldHVybiAoXG4gICAgZmlyc3RMaW5lQnJlYWsgIT09IC0xICYmIHNlY29uZExpbmVCcmVhayAhPT0gLTEgJiYgIWVtcHR5TGluZSAmJiAhaXNMYXN0Tm9kZVxuICApO1xufVxuXG5mdW5jdGlvbiBnZXRGaXJzdEJsb2NrUGFyZW50KG5vZGU6IEV4Y2x1ZGU8R29Ob2RlLCBHb1Jvb3Q+KToge1xuICBwYXJlbnQ6IEdvQmxvY2sgfCBHb1Jvb3Q7XG4gIGNoaWxkOiB0eXBlb2Ygbm9kZTtcbn0ge1xuICBsZXQgcHJldmlvdXMgPSBub2RlO1xuICBsZXQgY3VycmVudCA9IG5vZGUucGFyZW50O1xuXG4gIHdoaWxlICghaXNCbG9jayhjdXJyZW50KSAmJiAhaXNSb290KGN1cnJlbnQpKSB7XG4gICAgcHJldmlvdXMgPSBjdXJyZW50O1xuICAgIGN1cnJlbnQgPSBjdXJyZW50LnBhcmVudDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY2hpbGQ6IHByZXZpb3VzLFxuICAgIHBhcmVudDogY3VycmVudCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcHJpbnRVbmZvcm1hdHRhYmxlKFxuICBub2RlOiBHb1VuZm9ybWF0dGFibGUsXG4gIG9wdGlvbnM6IEV4dGVuZGVkUGFyc2VyT3B0aW9uc1xuKSB7XG4gIGNvbnN0IHN0YXJ0ID0gb3B0aW9ucy5vcmlnaW5hbFRleHQubGFzdEluZGV4T2YoXCJcXG5cIiwgbm9kZS5pbmRleCAtIDEpO1xuICBjb25zdCBsaW5lID0gb3B0aW9ucy5vcmlnaW5hbFRleHQuc3Vic3RyaW5nKHN0YXJ0LCBub2RlLmluZGV4ICsgbm9kZS5sZW5ndGgpO1xuICBjb25zdCBsaW5lV2l0aG91dEFkZGl0aW9uYWxDb250ZW50ID1cbiAgICBsaW5lLnJlcGxhY2Uobm9kZS5jb250ZW50LCBcIlwiKS5tYXRjaCgvXFxzKiQvKT8uWzBdID8/IFwiXCI7XG5cbiAgcmV0dXJuIHByaW50UGxhaW5CbG9jayhsaW5lV2l0aG91dEFkZGl0aW9uYWxDb250ZW50ICsgbm9kZS5jb250ZW50LCBmYWxzZSk7XG59XG5cbmZ1bmN0aW9uIHByaW50UGxhaW5CbG9jayh0ZXh0OiBzdHJpbmcsIGhhcmRsaW5lcyA9IHRydWUpOiBidWlsZGVycy5Eb2Mge1xuICBjb25zdCBpc1RleHRFbXB0eSA9IChpbnB1dDogc3RyaW5nKSA9PiAhIWlucHV0Lm1hdGNoKC9eXFxzKiQvKTtcblxuICBjb25zdCBsaW5lcyA9IHRleHQuc3BsaXQoXCJcXG5cIik7XG5cbiAgY29uc3Qgc2VnbWVudHMgPSBsaW5lcy5maWx0ZXIoXG4gICAgKHZhbHVlLCBpKSA9PiAhKGkgPT0gMCB8fCBpID09IGxpbmVzLmxlbmd0aCAtIDEpIHx8ICFpc1RleHRFbXB0eSh2YWx1ZSlcbiAgKTtcblxuICByZXR1cm4gYnVpbGRlcnMuY29uY2F0KFtcbiAgICAuLi5zZWdtZW50cy5tYXAoKGNvbnRlbnQsIGkpID0+XG4gICAgICBidWlsZGVycy5jb25jYXQoW1xuICAgICAgICBoYXJkbGluZXMgfHwgaSA/IGJ1aWxkZXJzLmhhcmRsaW5lIDogXCJcIixcbiAgICAgICAgYnVpbGRlcnMudHJpbSxcbiAgICAgICAgY29udGVudCxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBoYXJkbGluZXMgPyBidWlsZGVycy5oYXJkbGluZSA6IFwiXCIsXG4gIF0pO1xufVxuIl19
\ No newline at end of file
diff --git a/node_modules/prettier-plugin-go-template/lib/parse.d.ts b/node_modules/prettier-plugin-go-template/lib/parse.d.ts
deleted file mode 100644
index 9983f4e..0000000
--- a/node_modules/prettier-plugin-go-template/lib/parse.d.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { Parser } from "prettier";
-export declare const parseGoTemplate: Parser["parse"];
-export declare type GoNode = GoRoot | GoBlock | GoInline | GoMultiBlock | GoUnformattable;
-export declare type GoBlockKeyword = "if" | "range" | "block" | "with" | "define" | "else" | "prettier-ignore-start" | "prettier-ignore-end" | "end";
-export declare type GoRoot = {
- type: "root";
-} & Omit;
-export interface GoBaseNode {
- id: string;
- type: Type;
- index: number;
- length: number;
- parent: GoBlock | GoRoot | GoMultiBlock;
-}
-export interface GoBlock extends GoBaseNode<"block">, WithDelimiter {
- keyword: GoBlockKeyword;
- children: {
- [id: string]: GoNode;
- };
- start: GoInline;
- end: GoInline | null;
- content: string;
- aliasedContent: string;
- contentStart: number;
-}
-export interface GoMultiBlock extends GoBaseNode<"double-block"> {
- blocks: (GoBlock | GoMultiBlock)[];
- keyword: GoBlockKeyword;
-}
-export declare type GoSharedDelimiter = "%" | "-" | "";
-export declare type GoInlineStartDelimiter = "<" | "/*" | GoSharedDelimiter;
-export declare type GoInlineEndDelimiter = ">" | "*/" | GoSharedDelimiter;
-export interface GoUnformattable extends GoBaseNode<"unformattable"> {
- content: string;
-}
-export interface WithDelimiter {
- startDelimiter: GoInlineStartDelimiter;
- endDelimiter: GoInlineEndDelimiter;
-}
-export interface GoInline extends GoBaseNode<"inline">, WithDelimiter {
- statement: string;
-}
-export declare function isInline(node: GoNode): node is GoInline;
-export declare function isBlock(node: GoNode): node is GoBlock;
-export declare function isMultiBlock(node: GoNode): node is GoMultiBlock;
-export declare function isRoot(node: GoNode): node is GoRoot;
-export declare function isUnformattable(node: GoNode): node is GoRoot;
diff --git a/node_modules/prettier-plugin-go-template/lib/parse.js b/node_modules/prettier-plugin-go-template/lib/parse.js
deleted file mode 100644
index a878d50..0000000
--- a/node_modules/prettier-plugin-go-template/lib/parse.js
+++ /dev/null
@@ -1,183 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.isUnformattable = exports.isRoot = exports.isMultiBlock = exports.isBlock = exports.isInline = exports.parseGoTemplate = void 0;
-const create_id_generator_1 = require("./create-id-generator");
-const parseGoTemplate = (text, parsers, options) => {
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
- const regex = /{{(?-|<|%|\/\*)?\s*(?(?if|range|block|with|define|end|else|prettier-ignore-start|prettier-ignore-end)?[\s\S]*?)\s*(?-|>|%|\*\/)?}}|(?<(script)((?!<)[\s\S])*>((?!<\/script)[\s\S])*?{{[\s\S]*?<\/(script)>)|(?<(style)((?!<)[\s\S])*>((?!<\/style)[\s\S])*?{{[\s\S]*?<\/(style)>)/g;
- const root = {
- type: "root",
- content: text,
- aliasedContent: "",
- children: {},
- index: 0,
- contentStart: 0,
- length: text.length,
- };
- const nodeStack = [root];
- const getId = (0, create_id_generator_1.createIdGenerator)();
- for (let match of text.matchAll(regex)) {
- const current = last(nodeStack);
- const keyword = (_a = match.groups) === null || _a === void 0 ? void 0 : _a.keyword;
- const statement = (_b = match.groups) === null || _b === void 0 ? void 0 : _b.statement;
- const unformattable = (_d = (_c = match.groups) === null || _c === void 0 ? void 0 : _c.unformattableScript) !== null && _d !== void 0 ? _d : (_e = match.groups) === null || _e === void 0 ? void 0 : _e.unformattableStyle;
- const startDelimiter = ((_g = (_f = match.groups) === null || _f === void 0 ? void 0 : _f.startdelimiter) !== null && _g !== void 0 ? _g : "");
- const endDelimiter = ((_j = (_h = match.groups) === null || _h === void 0 ? void 0 : _h.endDelimiter) !== null && _j !== void 0 ? _j : "");
- if (current === undefined) {
- throw Error("Node stack empty.");
- }
- if (match.index === undefined) {
- throw Error("Regex match index undefined.");
- }
- const id = getId();
- if (unformattable) {
- current.children[id] = {
- id,
- type: "unformattable",
- index: match.index,
- length: match[0].length,
- content: unformattable,
- parent: current,
- };
- continue;
- }
- if (statement === undefined) {
- throw Error("Formattable match without statement.");
- }
- const inline = {
- index: match.index,
- length: match[0].length,
- startDelimiter,
- endDelimiter,
- parent: current,
- type: "inline",
- statement,
- id,
- };
- if (keyword === "end" || keyword === "prettier-ignore-end") {
- if (current.type !== "block") {
- throw Error("Encountered unexpected end keyword.");
- }
- current.length = match[0].length + match.index - current.index;
- current.content = text.substring(current.contentStart, match.index);
- current.aliasedContent = aliasNodeContent(current);
- current.end = inline;
- if (current.parent.type === "double-block") {
- const firstChild = current.parent.blocks[0];
- const lastChild = current.parent.blocks[current.parent.blocks.length - 1];
- current.parent.length =
- lastChild.index + lastChild.length - firstChild.index;
- }
- nodeStack.pop();
- }
- else if (isBlock(current) && keyword === "else") {
- const nextChild = {
- type: "block",
- start: inline,
- end: null,
- children: {},
- keyword: keyword,
- index: match.index,
- parent: current.parent,
- contentStart: match.index + match[0].length,
- content: "",
- aliasedContent: "",
- length: -1,
- id: getId(),
- startDelimiter,
- endDelimiter,
- };
- if (isMultiBlock(current.parent)) {
- current.parent.blocks.push(nextChild);
- }
- else {
- const multiBlock = {
- type: "double-block",
- parent: current.parent,
- index: current.index,
- length: -1,
- keyword,
- id: current.id,
- blocks: [current, nextChild],
- };
- nextChild.parent = multiBlock;
- current.parent = multiBlock;
- if ("children" in multiBlock.parent) {
- multiBlock.parent.children[multiBlock.id] = multiBlock;
- }
- else {
- throw Error("Could not find child in parent.");
- }
- }
- current.id = getId();
- current.length = match[0].length + match.index - current.index;
- current.content = text.substring(current.contentStart, match.index);
- current.aliasedContent = aliasNodeContent(current);
- nodeStack.pop();
- nodeStack.push(nextChild);
- }
- else if (keyword) {
- const block = {
- type: "block",
- start: inline,
- end: null,
- children: {},
- keyword: keyword,
- index: match.index,
- parent: current,
- contentStart: match.index + match[0].length,
- content: "",
- aliasedContent: "",
- length: -1,
- id: getId(),
- startDelimiter,
- endDelimiter,
- };
- current.children[block.id] = block;
- nodeStack.push(block);
- }
- else {
- current.children[inline.id] = inline;
- }
- }
- if (!isRoot(nodeStack.pop())) {
- throw Error("Missing end block.");
- }
- root.aliasedContent = aliasNodeContent(root);
- return root;
-};
-exports.parseGoTemplate = parseGoTemplate;
-function aliasNodeContent(current) {
- let result = current.content;
- Object.entries(current.children)
- .sort(([_, node1], [__, node2]) => node2.index - node1.index)
- .forEach(([id, node]) => (result =
- result.substring(0, node.index - current.contentStart) +
- id +
- result.substring(node.index + node.length - current.contentStart)));
- return result;
-}
-function last(array) {
- return array[array.length - 1];
-}
-function isInline(node) {
- return node.type === "inline";
-}
-exports.isInline = isInline;
-function isBlock(node) {
- return node.type === "block";
-}
-exports.isBlock = isBlock;
-function isMultiBlock(node) {
- return node.type === "double-block";
-}
-exports.isMultiBlock = isMultiBlock;
-function isRoot(node) {
- return node.type === "root";
-}
-exports.isRoot = isRoot;
-function isUnformattable(node) {
- return node.type === "unformattable";
-}
-exports.isUnformattable = isUnformattable;
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0RBQTBEO0FBRW5ELE1BQU0sZUFBZSxHQUE0QixDQUN0RCxJQUFJLEVBQ0osT0FBTyxFQUNQLE9BQU8sRUFDUCxFQUFFOztJQUNGLE1BQU0sS0FBSyxHQUNULCtXQUErVyxDQUFDO0lBQ2xYLE1BQU0sSUFBSSxHQUFXO1FBQ25CLElBQUksRUFBRSxNQUFNO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixjQUFjLEVBQUUsRUFBRTtRQUNsQixRQUFRLEVBQUUsRUFBRTtRQUNaLEtBQUssRUFBRSxDQUFDO1FBQ1IsWUFBWSxFQUFFLENBQUM7UUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07S0FDcEIsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUEsdUNBQWlCLEdBQUUsQ0FBQztJQUVsQyxLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLE1BQUEsS0FBSyxDQUFDLE1BQU0sMENBQUUsT0FBcUMsQ0FBQztRQUNwRSxNQUFNLFNBQVMsR0FBRyxNQUFBLEtBQUssQ0FBQyxNQUFNLDBDQUFFLFNBQVMsQ0FBQztRQUMxQyxNQUFNLGFBQWEsR0FDakIsTUFBQSxNQUFBLEtBQUssQ0FBQyxNQUFNLDBDQUFFLG1CQUFtQixtQ0FBSSxNQUFBLEtBQUssQ0FBQyxNQUFNLDBDQUFFLGtCQUFrQixDQUFDO1FBRXhFLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBQSxNQUFBLEtBQUssQ0FBQyxNQUFNLDBDQUFFLGNBQWMsbUNBQ2xELEVBQUUsQ0FBMkIsQ0FBQztRQUNoQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQUEsTUFBQSxLQUFLLENBQUMsTUFBTSwwQ0FBRSxZQUFZLG1DQUM5QyxFQUFFLENBQXlCLENBQUM7UUFFOUIsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3pCLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDbEM7UUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzdCLE1BQU0sS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDN0M7UUFDRCxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNuQixJQUFJLGFBQWEsRUFBRTtZQUNqQixPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHO2dCQUNyQixFQUFFO2dCQUNGLElBQUksRUFBRSxlQUFlO2dCQUNyQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtnQkFDdkIsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLE1BQU0sRUFBRSxPQUFPO2FBQ2hCLENBQUM7WUFDRixTQUFTO1NBQ1Y7UUFFRCxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFDM0IsTUFBTSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztTQUNyRDtRQUVELE1BQU0sTUFBTSxHQUFhO1lBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDdkIsY0FBYztZQUNkLFlBQVk7WUFDWixNQUFNLEVBQUUsT0FBUTtZQUNoQixJQUFJLEVBQUUsUUFBUTtZQUNkLFNBQVM7WUFDVCxFQUFFO1NBQ0gsQ0FBQztRQUVGLElBQUksT0FBTyxLQUFLLEtBQUssSUFBSSxPQUFPLEtBQUsscUJBQXFCLEVBQUU7WUFDMUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtnQkFDNUIsTUFBTSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQzthQUNwRDtZQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDL0QsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BFLE9BQU8sQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkQsT0FBTyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFFckIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUU7Z0JBQzFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLFNBQVMsR0FDYixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRTFELE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTTtvQkFDbkIsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDekQ7WUFFRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDakI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQ2pELE1BQU0sU0FBUyxHQUFZO2dCQUN6QixJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUUsTUFBTTtnQkFDYixHQUFHLEVBQUUsSUFBSTtnQkFDVCxRQUFRLEVBQUUsRUFBRTtnQkFDWixPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07Z0JBQ3RCLFlBQVksRUFBRSxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNO2dCQUMzQyxPQUFPLEVBQUUsRUFBRTtnQkFDWCxjQUFjLEVBQUUsRUFBRTtnQkFDbEIsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDVixFQUFFLEVBQUUsS0FBSyxFQUFFO2dCQUNYLGNBQWM7Z0JBQ2QsWUFBWTthQUNiLENBQUM7WUFFRixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2hDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN2QztpQkFBTTtnQkFDTCxNQUFNLFVBQVUsR0FBaUI7b0JBQy9CLElBQUksRUFBRSxjQUFjO29CQUNwQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07b0JBQ3RCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztvQkFDcEIsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDVixPQUFPO29CQUNQLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDZCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO2lCQUM3QixDQUFDO2dCQUNGLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO2dCQUM5QixPQUFPLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztnQkFFNUIsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtvQkFDbkMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDeEQ7cUJBQU07b0JBQ0wsTUFBTSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztpQkFDaEQ7YUFDRjtZQUVELE9BQU8sQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMvRCxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEUsT0FBTyxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVuRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDaEIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMzQjthQUFNLElBQUksT0FBTyxFQUFFO1lBQ2xCLE1BQU0sS0FBSyxHQUFZO2dCQUNyQixJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUUsTUFBTTtnQkFDYixHQUFHLEVBQUUsSUFBSTtnQkFDVCxRQUFRLEVBQUUsRUFBRTtnQkFDWixPQUFPLEVBQUUsT0FBeUI7Z0JBQ2xDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztnQkFDbEIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07Z0JBQzNDLE9BQU8sRUFBRSxFQUFFO2dCQUNYLGNBQWMsRUFBRSxFQUFFO2dCQUNsQixNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUNWLEVBQUUsRUFBRSxLQUFLLEVBQUU7Z0JBQ1gsY0FBYztnQkFDZCxZQUFZO2FBQ2IsQ0FBQztZQUVGLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNuQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDdEM7S0FDRjtJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRyxDQUFDLEVBQUU7UUFDN0IsTUFBTSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQUNuQztJQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0MsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFyS1csUUFBQSxlQUFlLG1CQXFLMUI7QUFFRixTQUFTLGdCQUFnQixDQUFDLE9BQXlCO0lBQ2pELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFFN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1NBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDNUQsT0FBTyxDQUNOLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUNiLENBQUMsTUFBTTtRQUNMLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUN0RCxFQUFFO1lBQ0YsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQ3ZFLENBQUM7SUFFSixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxJQUFJLENBQUksS0FBVTtJQUN6QixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUEyRUQsU0FBZ0IsUUFBUSxDQUFDLElBQVk7SUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztBQUNoQyxDQUFDO0FBRkQsNEJBRUM7QUFFRCxTQUFnQixPQUFPLENBQUMsSUFBWTtJQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDO0FBQy9CLENBQUM7QUFGRCwwQkFFQztBQUVELFNBQWdCLFlBQVksQ0FBQyxJQUFZO0lBQ3ZDLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUM7QUFDdEMsQ0FBQztBQUZELG9DQUVDO0FBRUQsU0FBZ0IsTUFBTSxDQUFDLElBQVk7SUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztBQUM5QixDQUFDO0FBRkQsd0JBRUM7QUFFRCxTQUFnQixlQUFlLENBQUMsSUFBWTtJQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDO0FBQ3ZDLENBQUM7QUFGRCwwQ0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlciB9IGZyb20gXCJwcmV0dGllclwiO1xuaW1wb3J0IHsgY3JlYXRlSWRHZW5lcmF0b3IgfSBmcm9tIFwiLi9jcmVhdGUtaWQtZ2VuZXJhdG9yXCI7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUdvVGVtcGxhdGU6IFBhcnNlcjxHb05vZGU+W1wicGFyc2VcIl0gPSAoXG4gIHRleHQsXG4gIHBhcnNlcnMsXG4gIG9wdGlvbnNcbikgPT4ge1xuICBjb25zdCByZWdleCA9XG4gICAgL3t7KD88c3RhcnRkZWxpbWl0ZXI+LXw8fCV8XFwvXFwqKT9cXHMqKD88c3RhdGVtZW50Pig/PGtleXdvcmQ+aWZ8cmFuZ2V8YmxvY2t8d2l0aHxkZWZpbmV8ZW5kfGVsc2V8cHJldHRpZXItaWdub3JlLXN0YXJ0fHByZXR0aWVyLWlnbm9yZS1lbmQpP1tcXHNcXFNdKj8pXFxzKig/PGVuZERlbGltaXRlcj4tfD58JXxcXCpcXC8pP319fCg/PHVuZm9ybWF0dGFibGVTY3JpcHQ+PChzY3JpcHQpKCg/ITwpW1xcc1xcU10pKj4oKD8hPFxcL3NjcmlwdClbXFxzXFxTXSkqP3t7W1xcc1xcU10qPzxcXC8oc2NyaXB0KT4pfCg/PHVuZm9ybWF0dGFibGVTdHlsZT48KHN0eWxlKSgoPyE8KVtcXHNcXFNdKSo+KCg/ITxcXC9zdHlsZSlbXFxzXFxTXSkqP3t7W1xcc1xcU10qPzxcXC8oc3R5bGUpPikvZztcbiAgY29uc3Qgcm9vdDogR29Sb290ID0ge1xuICAgIHR5cGU6IFwicm9vdFwiLFxuICAgIGNvbnRlbnQ6IHRleHQsXG4gICAgYWxpYXNlZENvbnRlbnQ6IFwiXCIsXG4gICAgY2hpbGRyZW46IHt9LFxuICAgIGluZGV4OiAwLFxuICAgIGNvbnRlbnRTdGFydDogMCxcbiAgICBsZW5ndGg6IHRleHQubGVuZ3RoLFxuICB9O1xuICBjb25zdCBub2RlU3RhY2s6IChHb0Jsb2NrIHwgR29Sb290KVtdID0gW3Jvb3RdO1xuICBjb25zdCBnZXRJZCA9IGNyZWF0ZUlkR2VuZXJhdG9yKCk7XG5cbiAgZm9yIChsZXQgbWF0Y2ggb2YgdGV4dC5tYXRjaEFsbChyZWdleCkpIHtcbiAgICBjb25zdCBjdXJyZW50ID0gbGFzdChub2RlU3RhY2spO1xuICAgIGNvbnN0IGtleXdvcmQgPSBtYXRjaC5ncm91cHM/LmtleXdvcmQgYXMgR29CbG9ja0tleXdvcmQgfCB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc3RhdGVtZW50ID0gbWF0Y2guZ3JvdXBzPy5zdGF0ZW1lbnQ7XG4gICAgY29uc3QgdW5mb3JtYXR0YWJsZSA9XG4gICAgICBtYXRjaC5ncm91cHM/LnVuZm9ybWF0dGFibGVTY3JpcHQgPz8gbWF0Y2guZ3JvdXBzPy51bmZvcm1hdHRhYmxlU3R5bGU7XG5cbiAgICBjb25zdCBzdGFydERlbGltaXRlciA9IChtYXRjaC5ncm91cHM/LnN0YXJ0ZGVsaW1pdGVyID8/XG4gICAgICBcIlwiKSBhcyBHb0lubGluZVN0YXJ0RGVsaW1pdGVyO1xuICAgIGNvbnN0IGVuZERlbGltaXRlciA9IChtYXRjaC5ncm91cHM/LmVuZERlbGltaXRlciA/P1xuICAgICAgXCJcIikgYXMgR29JbmxpbmVFbmREZWxpbWl0ZXI7XG5cbiAgICBpZiAoY3VycmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBFcnJvcihcIk5vZGUgc3RhY2sgZW1wdHkuXCIpO1xuICAgIH1cblxuICAgIGlmIChtYXRjaC5pbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBFcnJvcihcIlJlZ2V4IG1hdGNoIGluZGV4IHVuZGVmaW5lZC5cIik7XG4gICAgfVxuICAgIGNvbnN0IGlkID0gZ2V0SWQoKTtcbiAgICBpZiAodW5mb3JtYXR0YWJsZSkge1xuICAgICAgY3VycmVudC5jaGlsZHJlbltpZF0gPSB7XG4gICAgICAgIGlkLFxuICAgICAgICB0eXBlOiBcInVuZm9ybWF0dGFibGVcIixcbiAgICAgICAgaW5kZXg6IG1hdGNoLmluZGV4LFxuICAgICAgICBsZW5ndGg6IG1hdGNoWzBdLmxlbmd0aCxcbiAgICAgICAgY29udGVudDogdW5mb3JtYXR0YWJsZSxcbiAgICAgICAgcGFyZW50OiBjdXJyZW50LFxuICAgICAgfTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChzdGF0ZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoXCJGb3JtYXR0YWJsZSBtYXRjaCB3aXRob3V0IHN0YXRlbWVudC5cIik7XG4gICAgfVxuXG4gICAgY29uc3QgaW5saW5lOiBHb0lubGluZSA9IHtcbiAgICAgIGluZGV4OiBtYXRjaC5pbmRleCxcbiAgICAgIGxlbmd0aDogbWF0Y2hbMF0ubGVuZ3RoLFxuICAgICAgc3RhcnREZWxpbWl0ZXIsXG4gICAgICBlbmREZWxpbWl0ZXIsXG4gICAgICBwYXJlbnQ6IGN1cnJlbnQhLFxuICAgICAgdHlwZTogXCJpbmxpbmVcIixcbiAgICAgIHN0YXRlbWVudCxcbiAgICAgIGlkLFxuICAgIH07XG5cbiAgICBpZiAoa2V5d29yZCA9PT0gXCJlbmRcIiB8fCBrZXl3b3JkID09PSBcInByZXR0aWVyLWlnbm9yZS1lbmRcIikge1xuICAgICAgaWYgKGN1cnJlbnQudHlwZSAhPT0gXCJibG9ja1wiKSB7XG4gICAgICAgIHRocm93IEVycm9yKFwiRW5jb3VudGVyZWQgdW5leHBlY3RlZCBlbmQga2V5d29yZC5cIik7XG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnQubGVuZ3RoID0gbWF0Y2hbMF0ubGVuZ3RoICsgbWF0Y2guaW5kZXggLSBjdXJyZW50LmluZGV4O1xuICAgICAgY3VycmVudC5jb250ZW50ID0gdGV4dC5zdWJzdHJpbmcoY3VycmVudC5jb250ZW50U3RhcnQsIG1hdGNoLmluZGV4KTtcbiAgICAgIGN1cnJlbnQuYWxpYXNlZENvbnRlbnQgPSBhbGlhc05vZGVDb250ZW50KGN1cnJlbnQpO1xuICAgICAgY3VycmVudC5lbmQgPSBpbmxpbmU7XG5cbiAgICAgIGlmIChjdXJyZW50LnBhcmVudC50eXBlID09PSBcImRvdWJsZS1ibG9ja1wiKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Q2hpbGQgPSBjdXJyZW50LnBhcmVudC5ibG9ja3NbMF07XG4gICAgICAgIGNvbnN0IGxhc3RDaGlsZCA9XG4gICAgICAgICAgY3VycmVudC5wYXJlbnQuYmxvY2tzW2N1cnJlbnQucGFyZW50LmJsb2Nrcy5sZW5ndGggLSAxXTtcblxuICAgICAgICBjdXJyZW50LnBhcmVudC5sZW5ndGggPVxuICAgICAgICAgIGxhc3RDaGlsZC5pbmRleCArIGxhc3RDaGlsZC5sZW5ndGggLSBmaXJzdENoaWxkLmluZGV4O1xuICAgICAgfVxuXG4gICAgICBub2RlU3RhY2sucG9wKCk7XG4gICAgfSBlbHNlIGlmIChpc0Jsb2NrKGN1cnJlbnQpICYmIGtleXdvcmQgPT09IFwiZWxzZVwiKSB7XG4gICAgICBjb25zdCBuZXh0Q2hpbGQ6IEdvQmxvY2sgPSB7XG4gICAgICAgIHR5cGU6IFwiYmxvY2tcIixcbiAgICAgICAgc3RhcnQ6IGlubGluZSxcbiAgICAgICAgZW5kOiBudWxsLFxuICAgICAgICBjaGlsZHJlbjoge30sXG4gICAgICAgIGtleXdvcmQ6IGtleXdvcmQsXG4gICAgICAgIGluZGV4OiBtYXRjaC5pbmRleCxcbiAgICAgICAgcGFyZW50OiBjdXJyZW50LnBhcmVudCxcbiAgICAgICAgY29udGVudFN0YXJ0OiBtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aCxcbiAgICAgICAgY29udGVudDogXCJcIixcbiAgICAgICAgYWxpYXNlZENvbnRlbnQ6IFwiXCIsXG4gICAgICAgIGxlbmd0aDogLTEsXG4gICAgICAgIGlkOiBnZXRJZCgpLFxuICAgICAgICBzdGFydERlbGltaXRlcixcbiAgICAgICAgZW5kRGVsaW1pdGVyLFxuICAgICAgfTtcblxuICAgICAgaWYgKGlzTXVsdGlCbG9jayhjdXJyZW50LnBhcmVudCkpIHtcbiAgICAgICAgY3VycmVudC5wYXJlbnQuYmxvY2tzLnB1c2gobmV4dENoaWxkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG11bHRpQmxvY2s6IEdvTXVsdGlCbG9jayA9IHtcbiAgICAgICAgICB0eXBlOiBcImRvdWJsZS1ibG9ja1wiLFxuICAgICAgICAgIHBhcmVudDogY3VycmVudC5wYXJlbnQsXG4gICAgICAgICAgaW5kZXg6IGN1cnJlbnQuaW5kZXgsXG4gICAgICAgICAgbGVuZ3RoOiAtMSxcbiAgICAgICAgICBrZXl3b3JkLFxuICAgICAgICAgIGlkOiBjdXJyZW50LmlkLFxuICAgICAgICAgIGJsb2NrczogW2N1cnJlbnQsIG5leHRDaGlsZF0sXG4gICAgICAgIH07XG4gICAgICAgIG5leHRDaGlsZC5wYXJlbnQgPSBtdWx0aUJsb2NrO1xuICAgICAgICBjdXJyZW50LnBhcmVudCA9IG11bHRpQmxvY2s7XG5cbiAgICAgICAgaWYgKFwiY2hpbGRyZW5cIiBpbiBtdWx0aUJsb2NrLnBhcmVudCkge1xuICAgICAgICAgIG11bHRpQmxvY2sucGFyZW50LmNoaWxkcmVuW211bHRpQmxvY2suaWRdID0gbXVsdGlCbG9jaztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihcIkNvdWxkIG5vdCBmaW5kIGNoaWxkIGluIHBhcmVudC5cIik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY3VycmVudC5pZCA9IGdldElkKCk7XG4gICAgICBjdXJyZW50Lmxlbmd0aCA9IG1hdGNoWzBdLmxlbmd0aCArIG1hdGNoLmluZGV4IC0gY3VycmVudC5pbmRleDtcbiAgICAgIGN1cnJlbnQuY29udGVudCA9IHRleHQuc3Vic3RyaW5nKGN1cnJlbnQuY29udGVudFN0YXJ0LCBtYXRjaC5pbmRleCk7XG4gICAgICBjdXJyZW50LmFsaWFzZWRDb250ZW50ID0gYWxpYXNOb2RlQ29udGVudChjdXJyZW50KTtcblxuICAgICAgbm9kZVN0YWNrLnBvcCgpO1xuICAgICAgbm9kZVN0YWNrLnB1c2gobmV4dENoaWxkKTtcbiAgICB9IGVsc2UgaWYgKGtleXdvcmQpIHtcbiAgICAgIGNvbnN0IGJsb2NrOiBHb0Jsb2NrID0ge1xuICAgICAgICB0eXBlOiBcImJsb2NrXCIsXG4gICAgICAgIHN0YXJ0OiBpbmxpbmUsXG4gICAgICAgIGVuZDogbnVsbCxcbiAgICAgICAgY2hpbGRyZW46IHt9LFxuICAgICAgICBrZXl3b3JkOiBrZXl3b3JkIGFzIEdvQmxvY2tLZXl3b3JkLFxuICAgICAgICBpbmRleDogbWF0Y2guaW5kZXgsXG4gICAgICAgIHBhcmVudDogY3VycmVudCxcbiAgICAgICAgY29udGVudFN0YXJ0OiBtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aCxcbiAgICAgICAgY29udGVudDogXCJcIixcbiAgICAgICAgYWxpYXNlZENvbnRlbnQ6IFwiXCIsXG4gICAgICAgIGxlbmd0aDogLTEsXG4gICAgICAgIGlkOiBnZXRJZCgpLFxuICAgICAgICBzdGFydERlbGltaXRlcixcbiAgICAgICAgZW5kRGVsaW1pdGVyLFxuICAgICAgfTtcblxuICAgICAgY3VycmVudC5jaGlsZHJlbltibG9jay5pZF0gPSBibG9jaztcbiAgICAgIG5vZGVTdGFjay5wdXNoKGJsb2NrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudC5jaGlsZHJlbltpbmxpbmUuaWRdID0gaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIGlmICghaXNSb290KG5vZGVTdGFjay5wb3AoKSEpKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJNaXNzaW5nIGVuZCBibG9jay5cIik7XG4gIH1cblxuICByb290LmFsaWFzZWRDb250ZW50ID0gYWxpYXNOb2RlQ29udGVudChyb290KTtcblxuICByZXR1cm4gcm9vdDtcbn07XG5cbmZ1bmN0aW9uIGFsaWFzTm9kZUNvbnRlbnQoY3VycmVudDogR29CbG9jayB8IEdvUm9vdCk6IHN0cmluZyB7XG4gIGxldCByZXN1bHQgPSBjdXJyZW50LmNvbnRlbnQ7XG5cbiAgT2JqZWN0LmVudHJpZXMoY3VycmVudC5jaGlsZHJlbilcbiAgICAuc29ydCgoW18sIG5vZGUxXSwgW19fLCBub2RlMl0pID0+IG5vZGUyLmluZGV4IC0gbm9kZTEuaW5kZXgpXG4gICAgLmZvckVhY2goXG4gICAgICAoW2lkLCBub2RlXSkgPT5cbiAgICAgICAgKHJlc3VsdCA9XG4gICAgICAgICAgcmVzdWx0LnN1YnN0cmluZygwLCBub2RlLmluZGV4IC0gY3VycmVudC5jb250ZW50U3RhcnQpICtcbiAgICAgICAgICBpZCArXG4gICAgICAgICAgcmVzdWx0LnN1YnN0cmluZyhub2RlLmluZGV4ICsgbm9kZS5sZW5ndGggLSBjdXJyZW50LmNvbnRlbnRTdGFydCkpXG4gICAgKTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBsYXN0PFQ+KGFycmF5OiBUW10pOiBUIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdO1xufVxuXG5leHBvcnQgdHlwZSBHb05vZGUgPVxuICB8IEdvUm9vdFxuICB8IEdvQmxvY2tcbiAgfCBHb0lubGluZVxuICB8IEdvTXVsdGlCbG9ja1xuICB8IEdvVW5mb3JtYXR0YWJsZTtcblxuZXhwb3J0IHR5cGUgR29CbG9ja0tleXdvcmQgPVxuICB8IFwiaWZcIlxuICB8IFwicmFuZ2VcIlxuICB8IFwiYmxvY2tcIlxuICB8IFwid2l0aFwiXG4gIHwgXCJkZWZpbmVcIlxuICB8IFwiZWxzZVwiXG4gIHwgXCJwcmV0dGllci1pZ25vcmUtc3RhcnRcIlxuICB8IFwicHJldHRpZXItaWdub3JlLWVuZFwiXG4gIHwgXCJlbmRcIjtcblxuZXhwb3J0IHR5cGUgR29Sb290ID0geyB0eXBlOiBcInJvb3RcIiB9ICYgT21pdDxcbiAgR29CbG9jayxcbiAgfCBcInR5cGVcIlxuICB8IFwia2V5d29yZFwiXG4gIHwgXCJwYXJlbnRcIlxuICB8IFwic3RhdGVtZW50XCJcbiAgfCBcImlkXCJcbiAgfCBcInN0YXJ0RGVsaW1pdGVyXCJcbiAgfCBcImVuZERlbGltaXRlclwiXG4gIHwgXCJzdGFydFwiXG4gIHwgXCJlbmRcIlxuPjtcblxuZXhwb3J0IGludGVyZmFjZSBHb0Jhc2VOb2RlPFR5cGUgZXh0ZW5kcyBzdHJpbmc+IHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogVHlwZTtcbiAgaW5kZXg6IG51bWJlcjtcbiAgbGVuZ3RoOiBudW1iZXI7XG4gIHBhcmVudDogR29CbG9jayB8IEdvUm9vdCB8IEdvTXVsdGlCbG9jaztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHb0Jsb2NrIGV4dGVuZHMgR29CYXNlTm9kZTxcImJsb2NrXCI+LCBXaXRoRGVsaW1pdGVyIHtcbiAga2V5d29yZDogR29CbG9ja0tleXdvcmQ7XG4gIGNoaWxkcmVuOiB7XG4gICAgW2lkOiBzdHJpbmddOiBHb05vZGU7XG4gIH07XG4gIHN0YXJ0OiBHb0lubGluZTtcbiAgZW5kOiBHb0lubGluZSB8IG51bGw7XG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgYWxpYXNlZENvbnRlbnQ6IHN0cmluZztcbiAgY29udGVudFN0YXJ0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR29NdWx0aUJsb2NrIGV4dGVuZHMgR29CYXNlTm9kZTxcImRvdWJsZS1ibG9ja1wiPiB7XG4gIGJsb2NrczogKEdvQmxvY2sgfCBHb011bHRpQmxvY2spW107XG4gIGtleXdvcmQ6IEdvQmxvY2tLZXl3b3JkO1xufVxuXG5leHBvcnQgdHlwZSBHb1NoYXJlZERlbGltaXRlciA9IFwiJVwiIHwgXCItXCIgfCBcIlwiO1xuZXhwb3J0IHR5cGUgR29JbmxpbmVTdGFydERlbGltaXRlciA9IFwiPFwiIHwgXCIvKlwiIHwgR29TaGFyZWREZWxpbWl0ZXI7XG5leHBvcnQgdHlwZSBHb0lubGluZUVuZERlbGltaXRlciA9IFwiPlwiIHwgXCIqL1wiIHwgR29TaGFyZWREZWxpbWl0ZXI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR29VbmZvcm1hdHRhYmxlIGV4dGVuZHMgR29CYXNlTm9kZTxcInVuZm9ybWF0dGFibGVcIj4ge1xuICBjb250ZW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2l0aERlbGltaXRlciB7XG4gIHN0YXJ0RGVsaW1pdGVyOiBHb0lubGluZVN0YXJ0RGVsaW1pdGVyO1xuICBlbmREZWxpbWl0ZXI6IEdvSW5saW5lRW5kRGVsaW1pdGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdvSW5saW5lIGV4dGVuZHMgR29CYXNlTm9kZTxcImlubGluZVwiPiwgV2l0aERlbGltaXRlciB7XG4gIHN0YXRlbWVudDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJbmxpbmUobm9kZTogR29Ob2RlKTogbm9kZSBpcyBHb0lubGluZSB7XG4gIHJldHVybiBub2RlLnR5cGUgPT09IFwiaW5saW5lXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Jsb2NrKG5vZGU6IEdvTm9kZSk6IG5vZGUgaXMgR29CbG9jayB7XG4gIHJldHVybiBub2RlLnR5cGUgPT09IFwiYmxvY2tcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTXVsdGlCbG9jayhub2RlOiBHb05vZGUpOiBub2RlIGlzIEdvTXVsdGlCbG9jayB7XG4gIHJldHVybiBub2RlLnR5cGUgPT09IFwiZG91YmxlLWJsb2NrXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Jvb3Qobm9kZTogR29Ob2RlKTogbm9kZSBpcyBHb1Jvb3Qge1xuICByZXR1cm4gbm9kZS50eXBlID09PSBcInJvb3RcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5mb3JtYXR0YWJsZShub2RlOiBHb05vZGUpOiBub2RlIGlzIEdvUm9vdCB7XG4gIHJldHVybiBub2RlLnR5cGUgPT09IFwidW5mb3JtYXR0YWJsZVwiO1xufVxuIl19
\ No newline at end of file
diff --git a/node_modules/prettier-plugin-go-template/package.json b/node_modules/prettier-plugin-go-template/package.json
deleted file mode 100644
index 5d3707a..0000000
--- a/node_modules/prettier-plugin-go-template/package.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "_from": "prettier-plugin-go-template",
- "_id": "prettier-plugin-go-template@0.0.13",
- "_inBundle": false,
- "_integrity": "sha512-gG/xT5kd+kCzoMaTchXvdfBdsunyRCV6G8cgdPGPd2V5JGGKXUG7SjzBKU7jaGh2RTeblcAdBb/E+S/duOAMsA==",
- "_location": "/prettier-plugin-go-template",
- "_phantomChildren": {},
- "_requested": {
- "type": "tag",
- "registry": true,
- "raw": "prettier-plugin-go-template",
- "name": "prettier-plugin-go-template",
- "escapedName": "prettier-plugin-go-template",
- "rawSpec": "",
- "saveSpec": null,
- "fetchSpec": "latest"
- },
- "_requiredBy": [
- "#DEV:/",
- "#USER"
- ],
- "_resolved": "https://registry.npmjs.org/prettier-plugin-go-template/-/prettier-plugin-go-template-0.0.13.tgz",
- "_shasum": "b4047bce76430bc89a8ee8f27fad1b1c14d942be",
- "_spec": "prettier-plugin-go-template",
- "_where": "/home/kossa/projects/knaeckeboot-tailwind",
- "author": {
- "name": "Niklas Portmann",
- "email": "niklaspor@gmail.com"
- },
- "bugs": {
- "url": "https://github.com/NiklasPor/prettier-plugin-go-template/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "ulid": "^2.3.0"
- },
- "deprecated": false,
- "description": "Prettier plugin for formatting Go & GoHugo templates.",
- "devDependencies": {
- "@rollup/plugin-commonjs": "^17.0.0",
- "@rollup/plugin-node-resolve": "^11.0.0",
- "@rollup/plugin-typescript": "^8.0.0",
- "@tsconfig/svelte": "^2.0.0",
- "@types/jest": "^26.0.15",
- "@types/node": "^14.14.2",
- "@types/prettier": "^2.2.3",
- "codecov": "^3.8.0",
- "jest": "^26.6.1",
- "prettier": "^2.3.0",
- "rollup": "^2.3.4",
- "rollup-plugin-css-only": "^3.1.0",
- "rollup-plugin-livereload": "^2.0.0",
- "rollup-plugin-svelte": "^7.0.0",
- "rollup-plugin-terser": "^7.0.0",
- "sirv-cli": "^2.0.0",
- "svelte": "^3.0.0",
- "svelte-check": "^2.0.0",
- "svelte-preprocess": "^4.0.0",
- "ts-jest": "^26.4.2",
- "ts-node": "^9.0.0",
- "tslib": "^2.0.0",
- "tslint": "^6.1.3",
- "tslint-config-prettier": "^1.18.0",
- "typescript": "^4.0.0"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "files": [
- "lib"
- ],
- "homepage": "https://github.com/NiklasPor/prettier-plugin-go-template#readme",
- "jest": {
- "preset": "ts-jest"
- },
- "keywords": [
- "prettier",
- "plugin",
- "go",
- "hugo",
- "gohugo",
- "template",
- "html"
- ],
- "license": "MIT",
- "main": "lib/index",
- "name": "prettier-plugin-go-template",
- "peerDependencies": {
- "prettier": "^2.0.0"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/NiklasPor/prettier-plugin-go-template.git"
- },
- "scripts": {
- "build": "tsc --pretty",
- "check": "svelte-check --tsconfig ./tsconfig.json",
- "coverage": "jest --coverage --no-cache",
- "lint": "tslint --project .",
- "publish:coverage": "codecov -t $npm_config_prettier_plugin_go_html_codecov",
- "release:coverage": "npm run coverage && npm run publish:coverage",
- "release:plugin": "npm run build && npm run release:coverage && npm publish",
- "release:plugin:beta": "npm run build && npm run release:coverage && npm publish --tag beta",
- "test": "jest",
- "watch": "npm run build -- --watch",
- "watch:test": "jest --watch",
- "website:build": "rollup -c",
- "website:serve": "rollup -c -w",
- "website:start": "sirv website/public --no-clear"
- },
- "types": "lib/index",
- "version": "0.0.13"
-}
diff --git a/node_modules/prettier/LICENSE b/node_modules/prettier/LICENSE
deleted file mode 100644
index d0d03cd..0000000
--- a/node_modules/prettier/LICENSE
+++ /dev/null
@@ -1,6001 +0,0 @@
-# Prettier license
-
-Prettier is released under the MIT license:
-
-Copyright © James Long and contributors
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-## Licenses of bundled dependencies
-
-The published Prettier artifact additionally contains code with the following licenses:
-MIT, ISC, BSD-2-Clause, BSD-3-Clause, Apache-2.0, 0BSD
-
-## Bundled dependencies
-
-### @angular/compiler@v12.2.16
-
-License: MIT
-By: angular
-Repository:
-
-----------------------------------------
-
-### @babel/code-frame@v7.16.7
-
-License: MIT
-By: The Babel Team
-Repository:
-
-> MIT License
->
-> Copyright (c) 2014-present Sebastian McKenzie and other contributors
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> "Software"), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### @babel/helper-validator-identifier@v7.16.7
-
-License: MIT
-By: The Babel Team
-Repository:
-
-> MIT License
->
-> Copyright (c) 2014-present Sebastian McKenzie and other contributors
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> "Software"), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### @babel/highlight@v7.16.10
-
-License: MIT
-By: The Babel Team
-Repository:
-
-> MIT License
->
-> Copyright (c) 2014-present Sebastian McKenzie and other contributors
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> "Software"), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### @babel/parser@v7.18.0
-
-License: MIT
-By: The Babel Team
-Repository:
-
-> Copyright (C) 2012-2014 by various contributors (see AUTHORS)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### @glimmer/env@v0.1.7
-
-License: MIT
-
-> Copyright (c) 2017 Martin Muñoz and contributors.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-> of the Software, and to permit persons to whom the Software is furnished to do
-> so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### @glimmer/syntax@v0.84.2
-
-License: MIT
-
-> Copyright (c) 2015 Tilde, Inc.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-> of the Software, and to permit persons to whom the Software is furnished to do
-> so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### @glimmer/util@v0.84.2
-
-License: MIT
-
-> Copyright (c) 2015 Tilde, Inc.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-> of the Software, and to permit persons to whom the Software is furnished to do
-> so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### @handlebars/parser@v2.0.0
-
-License: ISC
-Repository:
-
-----------------------------------------
-
-### @iarna/toml@v2.2.5
-
-License: ISC
-By: Rebecca Turner
-Repository:
-
-> Copyright (c) 2016, Rebecca Turner
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### @nodelib/fs.scandir@v2.1.5
-
-License: MIT
-
-> The MIT License (MIT)
->
-> Copyright (c) Denis Malinochkin
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### @nodelib/fs.stat@v2.0.5
-
-License: MIT
-
-> The MIT License (MIT)
->
-> Copyright (c) Denis Malinochkin
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### @nodelib/fs.walk@v1.2.8
-
-License: MIT
-
-> The MIT License (MIT)
->
-> Copyright (c) Denis Malinochkin
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### @typescript-eslint/types@v5.27.0
-
-License: MIT
-Repository:
-
-> MIT License
->
-> Copyright (c) 2019 TypeScript ESLint and other contributors
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### @typescript-eslint/typescript-estree@v5.27.0
-
-License: BSD-2-Clause
-Repository:
-
-> TypeScript ESTree
->
-> Originally extracted from:
->
-> TypeScript ESLint Parser
-> Copyright JS Foundation and other contributors, https://js.foundation
->
-> Redistribution and use in source and binary forms, with or without
-> modification, are permitted provided that the following conditions are met:
->
-> * Redistributions of source code must retain the above copyright
-> notice, this list of conditions and the following disclaimer.
-> * Redistributions in binary form must reproduce the above copyright
-> notice, this list of conditions and the following disclaimer in the
-> documentation and/or other materials provided with the distribution.
->
-> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-> ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-> DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-> (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-> ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-> THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-----------------------------------------
-
-### @typescript-eslint/visitor-keys@v5.27.0
-
-License: MIT
-Repository:
-
-> MIT License
->
-> Copyright (c) 2019 TypeScript ESLint and other contributors
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### acorn@v8.7.0
-
-License: MIT
-Repository:
-
-> MIT License
->
-> Copyright (C) 2012-2020 by various contributors (see AUTHORS)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### acorn-jsx@v5.3.2
-
-License: MIT
-Repository:
-
-> Copyright (C) 2012-2017 by Ingvar Stepanyan
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### aggregate-error@v3.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### angular-estree-parser@v2.5.1
-
-License: MIT
-By: Ika
-
-> MIT License
->
-> Copyright (c) Ika (https://github.com/ikatyang)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### angular-html-parser@v1.8.0
-
-License: MIT
-By: Ika
-
-> MIT License
->
-> Copyright (c) Ika (https://github.com/ikatyang)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### ansi-regex@v6.0.1
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### ansi-styles@v3.2.1
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### array-union@v2.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### bail@v1.0.5
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### balanced-match@v1.0.2
-
-License: MIT
-By: Julian Gruber
-Repository:
-
-> (MIT)
->
-> Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-> of the Software, and to permit persons to whom the Software is furnished to do
-> so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### brace-expansion@v1.1.11
-
-License: MIT
-By: Julian Gruber
-Repository:
-
-> MIT License
->
-> Copyright (c) 2013 Julian Gruber
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### braces@v3.0.2
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014-2018, Jon Schlinkert.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### camelcase@v6.3.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### ccount@v1.1.0
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### chalk@v2.4.2
-
-License: MIT
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### chalk@v5.0.1
-
-License: MIT
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### character-entities@v1.2.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### character-entities-legacy@v1.1.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### character-reference-invalid@v1.1.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### ci-info@v3.3.0
-
-License: MIT
-By: Thomas Watson Steen
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2016-2021 Thomas Watson Steen
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### clean-stack@v2.2.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### clone@v1.0.4
-
-License: MIT
-By: Paul Vorbach
-Repository:
-
-> Copyright © 2011-2015 Paul Vorbach
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the “Software”), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### collapse-white-space@v1.0.6
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### color-convert@v1.9.3
-
-License: MIT
-By: Heather Arthur
-
-> Copyright (c) 2011-2016 Heather Arthur
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> "Software"), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### color-name@v1.1.3
-
-License: MIT
-By: DY
-Repository:
-
-> The MIT License (MIT)
-> Copyright (c) 2015 Dmitry Ivanov
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### commondir@v1.0.1
-
-License: MIT
-By: James Halliday
-Repository:
-
-> The MIT License
->
-> Copyright (c) 2013 James Halliday (mail@substack.net)
->
-> Permission is hereby granted, free of charge,
-> to any person obtaining a copy of this software and
-> associated documentation files (the "Software"), to
-> deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify,
-> merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom
-> the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice
-> shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
-> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### concat-map@v0.0.1
-
-License: MIT
-By: James Halliday
-Repository:
-
-> This software is released under the MIT license:
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### cosmiconfig@v7.0.1
-
-License: MIT
-By: David Clark
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 David Clark
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### cross-spawn@v7.0.3
-
-License: MIT
-By: André Cruz
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2018 Made With MOXY Lda
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### crypto-random-string@v4.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### css-units-list@v1.1.0
-
-License: MIT
-By: fisker Cheung
-
-> MIT License
->
-> Copyright (c) fisker Cheung (https://www.fiskercheung.com/)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### dashify@v2.0.0
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015-present, Jon Schlinkert.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### debug@v4.3.4
-
-License: MIT
-By: Josh Junon
-Repository:
-
-> (The MIT License)
->
-> Copyright (c) 2014-2017 TJ Holowaychuk
-> Copyright (c) 2018-2021 Josh Junon
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software
-> and associated documentation files (the 'Software'), to deal in the Software without restriction,
-> including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
-> and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial
-> portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-> LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### defaults@v1.0.3
-
-License: MIT
-By: Elijah Insua
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 Elijah Insua
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### del@v6.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### detect-newline@v3.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### diff@v5.0.0
-
-License: BSD-3-Clause
-Repository:
-
-> Software License Agreement (BSD License)
->
-> Copyright (c) 2009-2015, Kevin Decker
->
-> All rights reserved.
->
-> Redistribution and use of this software in source and binary forms, with or without modification,
-> are permitted provided that the following conditions are met:
->
-> * Redistributions of source code must retain the above
-> copyright notice, this list of conditions and the
-> following disclaimer.
->
-> * Redistributions in binary form must reproduce the above
-> copyright notice, this list of conditions and the
-> following disclaimer in the documentation and/or other
-> materials provided with the distribution.
->
-> * Neither the name of Kevin Decker nor the names of its
-> contributors may be used to endorse or promote products
-> derived from this software without specific prior
-> written permission.
->
-> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
-> IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-> FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-> CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-> DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-> IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-> OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-----------------------------------------
-
-### dir-glob@v3.0.1
-
-License: MIT
-By: Kevin Mårtensson
-
-> MIT License
->
-> Copyright (c) Kevin Mårtensson (github.com/kevva)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### editorconfig@v0.15.3
-
-License: MIT
-By: EditorConfig Team
-Repository:
-
-> Copyright © 2012 EditorConfig Team
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the “Software”), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### editorconfig-to-prettier@v0.2.0
-
-License: ISC
-By: Joseph Frazier
-Repository:
-
-----------------------------------------
-
-### emoji-regex@v9.2.2
-
-License: MIT
-By: Mathias Bynens
-Repository:
-
-> Copyright Mathias Bynens
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> "Software"), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### error-ex@v1.3.2
-
-License: MIT
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 JD Ballard
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### escape-string-regexp@v1.0.5
-
-License: MIT
-By: Sindre Sorhus
-
-> The MIT License (MIT)
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### escape-string-regexp@v5.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### eslint-visitor-keys@v3.3.0
-
-License: Apache-2.0
-By: Toru Nagashima
-
-> Apache License
-> Version 2.0, January 2004
-> http://www.apache.org/licenses/
->
-> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
->
-> 1. Definitions.
->
-> "License" shall mean the terms and conditions for use, reproduction,
-> and distribution as defined by Sections 1 through 9 of this document.
->
-> "Licensor" shall mean the copyright owner or entity authorized by
-> the copyright owner that is granting the License.
->
-> "Legal Entity" shall mean the union of the acting entity and all
-> other entities that control, are controlled by, or are under common
-> control with that entity. For the purposes of this definition,
-> "control" means (i) the power, direct or indirect, to cause the
-> direction or management of such entity, whether by contract or
-> otherwise, or (ii) ownership of fifty percent (50%) or more of the
-> outstanding shares, or (iii) beneficial ownership of such entity.
->
-> "You" (or "Your") shall mean an individual or Legal Entity
-> exercising permissions granted by this License.
->
-> "Source" form shall mean the preferred form for making modifications,
-> including but not limited to software source code, documentation
-> source, and configuration files.
->
-> "Object" form shall mean any form resulting from mechanical
-> transformation or translation of a Source form, including but
-> not limited to compiled object code, generated documentation,
-> and conversions to other media types.
->
-> "Work" shall mean the work of authorship, whether in Source or
-> Object form, made available under the License, as indicated by a
-> copyright notice that is included in or attached to the work
-> (an example is provided in the Appendix below).
->
-> "Derivative Works" shall mean any work, whether in Source or Object
-> form, that is based on (or derived from) the Work and for which the
-> editorial revisions, annotations, elaborations, or other modifications
-> represent, as a whole, an original work of authorship. For the purposes
-> of this License, Derivative Works shall not include works that remain
-> separable from, or merely link (or bind by name) to the interfaces of,
-> the Work and Derivative Works thereof.
->
-> "Contribution" shall mean any work of authorship, including
-> the original version of the Work and any modifications or additions
-> to that Work or Derivative Works thereof, that is intentionally
-> submitted to Licensor for inclusion in the Work by the copyright owner
-> or by an individual or Legal Entity authorized to submit on behalf of
-> the copyright owner. For the purposes of this definition, "submitted"
-> means any form of electronic, verbal, or written communication sent
-> to the Licensor or its representatives, including but not limited to
-> communication on electronic mailing lists, source code control systems,
-> and issue tracking systems that are managed by, or on behalf of, the
-> Licensor for the purpose of discussing and improving the Work, but
-> excluding communication that is conspicuously marked or otherwise
-> designated in writing by the copyright owner as "Not a Contribution."
->
-> "Contributor" shall mean Licensor and any individual or Legal Entity
-> on behalf of whom a Contribution has been received by Licensor and
-> subsequently incorporated within the Work.
->
-> 2. Grant of Copyright License. Subject to the terms and conditions of
-> this License, each Contributor hereby grants to You a perpetual,
-> worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-> copyright license to reproduce, prepare Derivative Works of,
-> publicly display, publicly perform, sublicense, and distribute the
-> Work and such Derivative Works in Source or Object form.
->
-> 3. Grant of Patent License. Subject to the terms and conditions of
-> this License, each Contributor hereby grants to You a perpetual,
-> worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-> (except as stated in this section) patent license to make, have made,
-> use, offer to sell, sell, import, and otherwise transfer the Work,
-> where such license applies only to those patent claims licensable
-> by such Contributor that are necessarily infringed by their
-> Contribution(s) alone or by combination of their Contribution(s)
-> with the Work to which such Contribution(s) was submitted. If You
-> institute patent litigation against any entity (including a
-> cross-claim or counterclaim in a lawsuit) alleging that the Work
-> or a Contribution incorporated within the Work constitutes direct
-> or contributory patent infringement, then any patent licenses
-> granted to You under this License for that Work shall terminate
-> as of the date such litigation is filed.
->
-> 4. Redistribution. You may reproduce and distribute copies of the
-> Work or Derivative Works thereof in any medium, with or without
-> modifications, and in Source or Object form, provided that You
-> meet the following conditions:
->
-> (a) You must give any other recipients of the Work or
-> Derivative Works a copy of this License; and
->
-> (b) You must cause any modified files to carry prominent notices
-> stating that You changed the files; and
->
-> (c) You must retain, in the Source form of any Derivative Works
-> that You distribute, all copyright, patent, trademark, and
-> attribution notices from the Source form of the Work,
-> excluding those notices that do not pertain to any part of
-> the Derivative Works; and
->
-> (d) If the Work includes a "NOTICE" text file as part of its
-> distribution, then any Derivative Works that You distribute must
-> include a readable copy of the attribution notices contained
-> within such NOTICE file, excluding those notices that do not
-> pertain to any part of the Derivative Works, in at least one
-> of the following places: within a NOTICE text file distributed
-> as part of the Derivative Works; within the Source form or
-> documentation, if provided along with the Derivative Works; or,
-> within a display generated by the Derivative Works, if and
-> wherever such third-party notices normally appear. The contents
-> of the NOTICE file are for informational purposes only and
-> do not modify the License. You may add Your own attribution
-> notices within Derivative Works that You distribute, alongside
-> or as an addendum to the NOTICE text from the Work, provided
-> that such additional attribution notices cannot be construed
-> as modifying the License.
->
-> You may add Your own copyright statement to Your modifications and
-> may provide additional or different license terms and conditions
-> for use, reproduction, or distribution of Your modifications, or
-> for any such Derivative Works as a whole, provided Your use,
-> reproduction, and distribution of the Work otherwise complies with
-> the conditions stated in this License.
->
-> 5. Submission of Contributions. Unless You explicitly state otherwise,
-> any Contribution intentionally submitted for inclusion in the Work
-> by You to the Licensor shall be under the terms and conditions of
-> this License, without any additional terms or conditions.
-> Notwithstanding the above, nothing herein shall supersede or modify
-> the terms of any separate license agreement you may have executed
-> with Licensor regarding such Contributions.
->
-> 6. Trademarks. This License does not grant permission to use the trade
-> names, trademarks, service marks, or product names of the Licensor,
-> except as required for reasonable and customary use in describing the
-> origin of the Work and reproducing the content of the NOTICE file.
->
-> 7. Disclaimer of Warranty. Unless required by applicable law or
-> agreed to in writing, Licensor provides the Work (and each
-> Contributor provides its Contributions) on an "AS IS" BASIS,
-> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-> implied, including, without limitation, any warranties or conditions
-> of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-> PARTICULAR PURPOSE. You are solely responsible for determining the
-> appropriateness of using or redistributing the Work and assume any
-> risks associated with Your exercise of permissions under this License.
->
-> 8. Limitation of Liability. In no event and under no legal theory,
-> whether in tort (including negligence), contract, or otherwise,
-> unless required by applicable law (such as deliberate and grossly
-> negligent acts) or agreed to in writing, shall any Contributor be
-> liable to You for damages, including any direct, indirect, special,
-> incidental, or consequential damages of any character arising as a
-> result of this License or out of the use or inability to use the
-> Work (including but not limited to damages for loss of goodwill,
-> work stoppage, computer failure or malfunction, or any and all
-> other commercial damages or losses), even if such Contributor
-> has been advised of the possibility of such damages.
->
-> 9. Accepting Warranty or Additional Liability. While redistributing
-> the Work or Derivative Works thereof, You may choose to offer,
-> and charge a fee for, acceptance of support, warranty, indemnity,
-> or other liability obligations and/or rights consistent with this
-> License. However, in accepting such obligations, You may act only
-> on Your own behalf and on Your sole responsibility, not on behalf
-> of any other Contributor, and only if You agree to indemnify,
-> defend, and hold each Contributor harmless for any liability
-> incurred by, or claims asserted against, such Contributor by reason
-> of your accepting any such warranty or additional liability.
->
-> END OF TERMS AND CONDITIONS
->
-> APPENDIX: How to apply the Apache License to your work.
->
-> To apply the Apache License to your work, attach the following
-> boilerplate notice, with the fields enclosed by brackets "{}"
-> replaced with your own identifying information. (Don't include
-> the brackets!) The text should be enclosed in the appropriate
-> comment syntax for the file format. We also recommend that a
-> file or class name and description of purpose be included on the
-> same "printed page" as the copyright notice for easier
-> identification within third-party archives.
->
-> Copyright contributors
->
-> Licensed under the Apache License, Version 2.0 (the "License");
-> you may not use this file except in compliance with the License.
-> You may obtain a copy of the License at
->
-> http://www.apache.org/licenses/LICENSE-2.0
->
-> Unless required by applicable law or agreed to in writing, software
-> distributed under the License is distributed on an "AS IS" BASIS,
-> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-> See the License for the specific language governing permissions and
-> limitations under the License.
-
-----------------------------------------
-
-### espree@v9.3.1
-
-License: BSD-2-Clause
-By: Nicholas C. Zakas
-
-> BSD 2-Clause License
->
-> Copyright (c) Open JS Foundation
-> All rights reserved.
->
-> Redistribution and use in source and binary forms, with or without
-> modification, are permitted provided that the following conditions are met:
->
-> 1. Redistributions of source code must retain the above copyright notice, this
-> list of conditions and the following disclaimer.
->
-> 2. Redistributions in binary form must reproduce the above copyright notice,
-> this list of conditions and the following disclaimer in the documentation
-> and/or other materials provided with the distribution.
->
-> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-----------------------------------------
-
-### esutils@v2.0.3
-
-License: BSD-2-Clause
-Repository:
-
-> Redistribution and use in source and binary forms, with or without
-> modification, are permitted provided that the following conditions are met:
->
-> * Redistributions of source code must retain the above copyright
-> notice, this list of conditions and the following disclaimer.
-> * Redistributions in binary form must reproduce the above copyright
-> notice, this list of conditions and the following disclaimer in the
-> documentation and/or other materials provided with the distribution.
->
-> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-> ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
-> DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-> (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-> ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-> THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-----------------------------------------
-
-### execa@v6.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### extend@v3.0.2
-
-License: MIT
-By: Stefan Thomas
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014 Stefan Thomas
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> "Software"), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### fast-glob@v3.2.11
-
-License: MIT
-By: Denis Malinochkin
-
-> The MIT License (MIT)
->
-> Copyright (c) Denis Malinochkin
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### fast-json-stable-stringify@v2.1.0
-
-License: MIT
-By: James Halliday
-Repository:
-
-> This software is released under the MIT license:
->
-> Copyright (c) 2017 Evgeny Poberezkin
-> Copyright (c) 2013 James Halliday
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### fastq@v1.13.0
-
-License: ISC
-By: Matteo Collina
-Repository:
-
-> Copyright (c) 2015-2020, Matteo Collina
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### file-entry-cache@v6.0.1
-
-License: MIT
-By: Roy Riojas
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 Roy Riojas
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### fill-range@v7.0.1
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014-present, Jon Schlinkert.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### find-cache-dir@v3.3.2
-
-License: MIT
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### find-parent-dir@v0.3.1
-
-License: MIT
-By: Thorsten Lorenz
-Repository:
-
-> Copyright 2013 Thorsten Lorenz.
-> All rights reserved.
->
-> Permission is hereby granted, free of charge, to any person
-> obtaining a copy of this software and associated documentation
-> files (the "Software"), to deal in the Software without
-> restriction, including without limitation the rights to use,
-> copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the
-> Software is furnished to do so, subject to the following
-> conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-> OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### find-up@v4.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### flat-cache@v3.0.4
-
-License: MIT
-By: Roy Riojas
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 Roy Riojas
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### flatted@v3.2.5
-
-License: ISC
-By: Andrea Giammarchi
-Repository:
-
-> ISC License
->
-> Copyright (c) 2018-2020, Andrea Giammarchi, @WebReflection
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-> AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-> OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-> PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### flatten@v1.0.3
-
-License: MIT
-By: Joshua Holbrook
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2016 Joshua Holbrook
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### flow-parser@v0.180.0
-
-License: MIT
-By: Flow Team
-Repository:
-
-----------------------------------------
-
-### fs.realpath@v1.0.0
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
->
-> ----
->
-> This library bundles a version of the `fs.realpath` and `fs.realpathSync`
-> methods from Node.js v0.10 under the terms of the Node.js MIT license.
->
-> Node's license follows, also included at the header of `old.js` which contains
-> the licensed code:
->
-> Copyright Joyent, Inc. and other Node contributors.
->
-> Permission is hereby granted, free of charge, to any person obtaining a
-> copy of this software and associated documentation files (the "Software"),
-> to deal in the Software without restriction, including without limitation
-> the rights to use, copy, modify, merge, publish, distribute, sublicense,
-> and/or sell copies of the Software, and to permit persons to whom the
-> Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-> DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### function-bind@v1.1.1
-
-License: MIT
-By: Raynos
-
-> Copyright (c) 2013 Raynos.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### get-stdin@v8.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### get-stream@v6.0.1
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### glob@v7.2.0
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
->
-> ## Glob Logo
->
-> Glob's logo created by Tanya Brassie , licensed
-> under a Creative Commons Attribution-ShareAlike 4.0 International License
-> https://creativecommons.org/licenses/by-sa/4.0/
-
-----------------------------------------
-
-### glob-parent@v5.1.2
-
-License: ISC
-By: Gulp Team
-
-> The ISC License
->
-> Copyright (c) 2015, 2019 Elan Shanker
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### globby@v11.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### graceful-fs@v4.2.9
-
-License: ISC
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### graphql@v15.6.1
-
-License: MIT
-Repository:
-
-> MIT License
->
-> Copyright (c) GraphQL Contributors
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### has@v1.0.3
-
-License: MIT
-By: Thiago de Arruda
-Repository:
-
-> Copyright (c) 2013 Thiago de Arruda
->
-> Permission is hereby granted, free of charge, to any person
-> obtaining a copy of this software and associated documentation
-> files (the "Software"), to deal in the Software without
-> restriction, including without limitation the rights to use,
-> copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the
-> Software is furnished to do so, subject to the following
-> conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-> OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### has-flag@v3.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### html-element-attributes@v3.1.0
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### html-tag-names@v2.0.1
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### html-void-elements@v2.0.1
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### human-signals@v3.0.1
-
-License: Apache-2.0
-By: ehmicky
-
-> Apache License
-> Version 2.0, January 2004
-> http://www.apache.org/licenses/
->
-> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
->
-> 1. Definitions.
->
-> "License" shall mean the terms and conditions for use, reproduction,
-> and distribution as defined by Sections 1 through 9 of this document.
->
-> "Licensor" shall mean the copyright owner or entity authorized by
-> the copyright owner that is granting the License.
->
-> "Legal Entity" shall mean the union of the acting entity and all
-> other entities that control, are controlled by, or are under common
-> control with that entity. For the purposes of this definition,
-> "control" means (i) the power, direct or indirect, to cause the
-> direction or management of such entity, whether by contract or
-> otherwise, or (ii) ownership of fifty percent (50%) or more of the
-> outstanding shares, or (iii) beneficial ownership of such entity.
->
-> "You" (or "Your") shall mean an individual or Legal Entity
-> exercising permissions granted by this License.
->
-> "Source" form shall mean the preferred form for making modifications,
-> including but not limited to software source code, documentation
-> source, and configuration files.
->
-> "Object" form shall mean any form resulting from mechanical
-> transformation or translation of a Source form, including but
-> not limited to compiled object code, generated documentation,
-> and conversions to other media types.
->
-> "Work" shall mean the work of authorship, whether in Source or
-> Object form, made available under the License, as indicated by a
-> copyright notice that is included in or attached to the work
-> (an example is provided in the Appendix below).
->
-> "Derivative Works" shall mean any work, whether in Source or Object
-> form, that is based on (or derived from) the Work and for which the
-> editorial revisions, annotations, elaborations, or other modifications
-> represent, as a whole, an original work of authorship. For the purposes
-> of this License, Derivative Works shall not include works that remain
-> separable from, or merely link (or bind by name) to the interfaces of,
-> the Work and Derivative Works thereof.
->
-> "Contribution" shall mean any work of authorship, including
-> the original version of the Work and any modifications or additions
-> to that Work or Derivative Works thereof, that is intentionally
-> submitted to Licensor for inclusion in the Work by the copyright owner
-> or by an individual or Legal Entity authorized to submit on behalf of
-> the copyright owner. For the purposes of this definition, "submitted"
-> means any form of electronic, verbal, or written communication sent
-> to the Licensor or its representatives, including but not limited to
-> communication on electronic mailing lists, source code control systems,
-> and issue tracking systems that are managed by, or on behalf of, the
-> Licensor for the purpose of discussing and improving the Work, but
-> excluding communication that is conspicuously marked or otherwise
-> designated in writing by the copyright owner as "Not a Contribution."
->
-> "Contributor" shall mean Licensor and any individual or Legal Entity
-> on behalf of whom a Contribution has been received by Licensor and
-> subsequently incorporated within the Work.
->
-> 2. Grant of Copyright License. Subject to the terms and conditions of
-> this License, each Contributor hereby grants to You a perpetual,
-> worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-> copyright license to reproduce, prepare Derivative Works of,
-> publicly display, publicly perform, sublicense, and distribute the
-> Work and such Derivative Works in Source or Object form.
->
-> 3. Grant of Patent License. Subject to the terms and conditions of
-> this License, each Contributor hereby grants to You a perpetual,
-> worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-> (except as stated in this section) patent license to make, have made,
-> use, offer to sell, sell, import, and otherwise transfer the Work,
-> where such license applies only to those patent claims licensable
-> by such Contributor that are necessarily infringed by their
-> Contribution(s) alone or by combination of their Contribution(s)
-> with the Work to which such Contribution(s) was submitted. If You
-> institute patent litigation against any entity (including a
-> cross-claim or counterclaim in a lawsuit) alleging that the Work
-> or a Contribution incorporated within the Work constitutes direct
-> or contributory patent infringement, then any patent licenses
-> granted to You under this License for that Work shall terminate
-> as of the date such litigation is filed.
->
-> 4. Redistribution. You may reproduce and distribute copies of the
-> Work or Derivative Works thereof in any medium, with or without
-> modifications, and in Source or Object form, provided that You
-> meet the following conditions:
->
-> (a) You must give any other recipients of the Work or
-> Derivative Works a copy of this License; and
->
-> (b) You must cause any modified files to carry prominent notices
-> stating that You changed the files; and
->
-> (c) You must retain, in the Source form of any Derivative Works
-> that You distribute, all copyright, patent, trademark, and
-> attribution notices from the Source form of the Work,
-> excluding those notices that do not pertain to any part of
-> the Derivative Works; and
->
-> (d) If the Work includes a "NOTICE" text file as part of its
-> distribution, then any Derivative Works that You distribute must
-> include a readable copy of the attribution notices contained
-> within such NOTICE file, excluding those notices that do not
-> pertain to any part of the Derivative Works, in at least one
-> of the following places: within a NOTICE text file distributed
-> as part of the Derivative Works; within the Source form or
-> documentation, if provided along with the Derivative Works; or,
-> within a display generated by the Derivative Works, if and
-> wherever such third-party notices normally appear. The contents
-> of the NOTICE file are for informational purposes only and
-> do not modify the License. You may add Your own attribution
-> notices within Derivative Works that You distribute, alongside
-> or as an addendum to the NOTICE text from the Work, provided
-> that such additional attribution notices cannot be construed
-> as modifying the License.
->
-> You may add Your own copyright statement to Your modifications and
-> may provide additional or different license terms and conditions
-> for use, reproduction, or distribution of Your modifications, or
-> for any such Derivative Works as a whole, provided Your use,
-> reproduction, and distribution of the Work otherwise complies with
-> the conditions stated in this License.
->
-> 5. Submission of Contributions. Unless You explicitly state otherwise,
-> any Contribution intentionally submitted for inclusion in the Work
-> by You to the Licensor shall be under the terms and conditions of
-> this License, without any additional terms or conditions.
-> Notwithstanding the above, nothing herein shall supersede or modify
-> the terms of any separate license agreement you may have executed
-> with Licensor regarding such Contributions.
->
-> 6. Trademarks. This License does not grant permission to use the trade
-> names, trademarks, service marks, or product names of the Licensor,
-> except as required for reasonable and customary use in describing the
-> origin of the Work and reproducing the content of the NOTICE file.
->
-> 7. Disclaimer of Warranty. Unless required by applicable law or
-> agreed to in writing, Licensor provides the Work (and each
-> Contributor provides its Contributions) on an "AS IS" BASIS,
-> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-> implied, including, without limitation, any warranties or conditions
-> of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-> PARTICULAR PURPOSE. You are solely responsible for determining the
-> appropriateness of using or redistributing the Work and assume any
-> risks associated with Your exercise of permissions under this License.
->
-> 8. Limitation of Liability. In no event and under no legal theory,
-> whether in tort (including negligence), contract, or otherwise,
-> unless required by applicable law (such as deliberate and grossly
-> negligent acts) or agreed to in writing, shall any Contributor be
-> liable to You for damages, including any direct, indirect, special,
-> incidental, or consequential damages of any character arising as a
-> result of this License or out of the use or inability to use the
-> Work (including but not limited to damages for loss of goodwill,
-> work stoppage, computer failure or malfunction, or any and all
-> other commercial damages or losses), even if such Contributor
-> has been advised of the possibility of such damages.
->
-> 9. Accepting Warranty or Additional Liability. While redistributing
-> the Work or Derivative Works thereof, You may choose to offer,
-> and charge a fee for, acceptance of support, warranty, indemnity,
-> or other liability obligations and/or rights consistent with this
-> License. However, in accepting such obligations, You may act only
-> on Your own behalf and on Your sole responsibility, not on behalf
-> of any other Contributor, and only if You agree to indemnify,
-> defend, and hold each Contributor harmless for any liability
-> incurred by, or claims asserted against, such Contributor by reason
-> of your accepting any such warranty or additional liability.
->
-> END OF TERMS AND CONDITIONS
->
-> APPENDIX: How to apply the Apache License to your work.
->
-> To apply the Apache License to your work, attach the following
-> boilerplate notice, with the fields enclosed by brackets "[]"
-> replaced with your own identifying information. (Don't include
-> the brackets!) The text should be enclosed in the appropriate
-> comment syntax for the file format. We also recommend that a
-> file or class name and description of purpose be included on the
-> same "printed page" as the copyright notice for easier
-> identification within third-party archives.
->
-> Copyright 2021 ehmicky
->
-> Licensed under the Apache License, Version 2.0 (the "License");
-> you may not use this file except in compliance with the License.
-> You may obtain a copy of the License at
->
-> http://www.apache.org/licenses/LICENSE-2.0
->
-> Unless required by applicable law or agreed to in writing, software
-> distributed under the License is distributed on an "AS IS" BASIS,
-> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-> See the License for the specific language governing permissions and
-> limitations under the License.
-
-----------------------------------------
-
-### ignore@v5.2.0
-
-License: MIT
-By: kael
-Repository:
-
-> Copyright (c) 2013 Kael Zhang , contributors
-> http://kael.me/
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> "Software"), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### import-fresh@v3.3.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### indent-string@v4.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### indexes-of@v1.0.1
-
-License: MIT
-By: Dominic Tarr
-Repository:
-
-> Copyright (c) 2013 Dominic Tarr
->
-> Permission is hereby granted, free of charge,
-> to any person obtaining a copy of this software and
-> associated documentation files (the "Software"), to
-> deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify,
-> merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom
-> the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice
-> shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
-> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### inflight@v1.0.6
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### inherits@v2.0.4
-
-License: ISC
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-> OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-> PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### is-alphabetical@v1.0.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-alphanumerical@v1.0.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-arrayish@v0.2.1
-
-License: MIT
-By: Qix
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 JD Ballard
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### is-buffer@v2.0.5
-
-License: MIT
-By: Feross Aboukhadijeh
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) Feross Aboukhadijeh
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### is-core-module@v2.8.1
-
-License: MIT
-By: Jordan Harband
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014 Dave Justice
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-decimal@v1.0.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-extglob@v2.1.1
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014-2016, Jon Schlinkert
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### is-fullwidth-code-point@v4.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-glob@v4.0.3
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014-2017, Jon Schlinkert.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### is-hexadecimal@v1.0.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-number@v7.0.0
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014-present, Jon Schlinkert.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### is-path-cwd@v2.2.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-path-inside@v3.0.3
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-plain-obj@v2.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-stream@v3.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-whitespace-character@v1.0.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### is-word-character@v1.0.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### isexe@v2.0.0
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### jest-docblock@v27.5.1
-
-License: MIT
-Repository:
-
-> MIT License
->
-> Copyright (c) Facebook, Inc. and its affiliates.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### js-tokens@v4.0.0
-
-License: MIT
-By: Simon Lydell
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### json-parse-even-better-errors@v2.3.1
-
-License: MIT
-By: Kat Marchán
-
-> Copyright 2017 Kat Marchán
-> Copyright npm, Inc.
->
-> Permission is hereby granted, free of charge, to any person obtaining a
-> copy of this software and associated documentation files (the "Software"),
-> to deal in the Software without restriction, including without limitation
-> the rights to use, copy, modify, merge, publish, distribute, sublicense,
-> and/or sell copies of the Software, and to permit persons to whom the
-> Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-> DEALINGS IN THE SOFTWARE.
->
-> ---
->
-> This library is a fork of 'better-json-errors' by Kat Marchán, extended and
-> distributed under the terms of the MIT license above.
-
-----------------------------------------
-
-### json5@v2.2.1
-
-License: MIT
-By: Aseem Kishore
-Repository:
-
-> MIT License
->
-> Copyright (c) 2012-2018 Aseem Kishore, and [others].
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
->
-> [others]: https://github.com/json5/json5/contributors
-
-----------------------------------------
-
-### leven@v2.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> The MIT License (MIT)
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### leven@v4.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### lines-and-columns@v1.2.4
-
-License: MIT
-By: Brian Donovan
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 Brian Donovan
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### lines-and-columns@v2.0.3
-
-License: MIT
-By: Brian Donovan
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 Brian Donovan
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### linguist-languages@v7.21.0
-
-License: MIT
-By: Ika
-
-> MIT License
->
-> Copyright (c) Ika (https://github.com/ikatyang)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### locate-path@v5.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### lru-cache@v4.1.5
-
-License: ISC
-By: Isaac Z. Schlueter
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### lru-cache@v6.0.0
-
-License: ISC
-By: Isaac Z. Schlueter
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### make-dir@v3.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### map-age-cleaner@v0.1.3
-
-License: MIT
-By: Sam Verschueren
-
-> MIT License
->
-> Copyright (c) Sam Verschueren (github.com/SamVerschueren)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### markdown-escapes@v1.0.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### mem@v9.0.2
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### merge-stream@v2.0.0
-
-License: MIT
-By: Stephen Sugden
-
-> The MIT License (MIT)
->
-> Copyright (c) Stephen Sugden (stephensugden.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### merge2@v1.4.1
-
-License: MIT
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014-2020 Teambition
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### meriyah@v4.2.1
-
-License: ISC
-By: Kenny F.
-Repository:
-
-> ISC License
->
-> Copyright (c) 2019 and later, KFlash and others.
->
-> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### micromatch@v4.0.5
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014-present, Jon Schlinkert.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### mimic-fn@v4.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### minimatch@v3.1.2
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### minimist@v1.2.6
-
-License: MIT
-By: James Halliday
-Repository:
-
-> This software is released under the MIT license:
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### ms@v2.1.2
-
-License: MIT
-
-> The MIT License (MIT)
->
-> Copyright (c) 2016 Zeit, Inc.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### n-readlines@v1.0.1
-
-License: MIT
-By: Yoan Arnaudov
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2013 Liucw
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### npm-run-path@v5.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### once@v1.4.0
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### onetime@v6.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### outdent@v0.8.0
-
-License: MIT
-By: Andrew Bradley
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2016 Andrew Bradley
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### p-defer@v1.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> The MIT License (MIT)
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### p-limit@v2.3.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### p-locate@v4.1.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### p-map@v4.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### p-try@v2.2.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### parse-entities@v2.0.0
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### parse-json@v5.2.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### parse-srcset@v1.0.2
-
-License: MIT
-By: Alex Bell
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014 Alex Bell
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### path-exists@v4.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### path-is-absolute@v1.0.1
-
-License: MIT
-By: Sindre Sorhus
-
-> The MIT License (MIT)
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### path-key@v3.1.1
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### path-parse@v1.0.7
-
-License: MIT
-By: Javier Blanco
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 Javier Blanco
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### path-type@v4.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### picocolors@v0.2.1
-
-License: ISC
-By: Alexey Raspopov
-
-> ISC License
->
-> Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### picomatch@v2.3.1
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2017-present, Jon Schlinkert.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### pkg-dir@v4.2.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### please-upgrade-node@v3.2.0
-
-License: MIT
-By: typicode
-Repository:
-
-> MIT License
->
-> Copyright (c) 2017
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### postcss@v7.0.39
-
-License: MIT
-By: Andrey Sitnik
-
-> The MIT License (MIT)
->
-> Copyright 2013 Andrey Sitnik
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### postcss-less@v3.1.4
-
-License: MIT
-By: Denys Kniazevych
-
-> The MIT License (MIT)
->
-> Copyright (c) 2013 Andrey Sitnik
-> Copyright (c) 2016 Denys Kniazevych
-> Copyright (c) 2016 Pat Sissons
-> Copyright (c) 2017 Andrew Powell
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### postcss-media-query-parser@v0.2.3
-
-License: MIT
-By: dryoma
-Repository:
-
-----------------------------------------
-
-### postcss-scss@v2.1.1
-
-License: MIT
-By: Andrey Sitnik
-
-> The MIT License (MIT)
->
-> Copyright 2013 Andrey Sitnik
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### postcss-selector-parser@v2.2.3
-
-License: MIT
-By: Ben Briggs
-
-> Copyright (c) Ben Briggs (http://beneb.info)
->
-> Permission is hereby granted, free of charge, to any person
-> obtaining a copy of this software and associated documentation
-> files (the "Software"), to deal in the Software without
-> restriction, including without limitation the rights to use,
-> copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the
-> Software is furnished to do so, subject to the following
-> conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-> OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### postcss-values-parser@v2.0.1
-
-License: MIT
-By: Andrew Powell (shellscape)
-
-> Copyright (c) Andrew Powell
->
-> Permission is hereby granted, free of charge, to any person
-> obtaining a copy of this software and associated documentation
-> files (the "Software"), to deal in the Software without
-> restriction, including without limitation the rights to use,
-> copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the
-> Software is furnished to do so, subject to the following
-> conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-> OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### pseudomap@v1.0.2
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### queue-microtask@v1.2.3
-
-License: MIT
-By: Feross Aboukhadijeh
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) Feross Aboukhadijeh
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### remark-footnotes@v2.0.0
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2020 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### remark-math@v3.0.1
-
-License: MIT
-By: Junyoung Choi
-
-----------------------------------------
-
-### remark-parse@v8.0.3
-
-License: MIT
-By: Titus Wormer
-
-----------------------------------------
-
-### repeat-string@v1.6.1
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2014-2016, Jon Schlinkert.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### resolve@v1.22.0
-
-License: MIT
-By: James Halliday
-Repository:
-
-> MIT License
->
-> Copyright (c) 2012 James Halliday
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### resolve-from@v4.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### reusify@v1.0.4
-
-License: MIT
-By: Matteo Collina
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015 Matteo Collina
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### rimraf@v3.0.2
-
-License: ISC
-By: Isaac Z. Schlueter
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### rollup-plugin-node-polyfills@v0.2.1
-
-License: MIT
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2019 these people
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### run-parallel@v1.2.0
-
-License: MIT
-By: Feross Aboukhadijeh
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) Feross Aboukhadijeh
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### sdbm@v2.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### semver@v6.3.0
-
-License: ISC
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### semver@v7.3.7
-
-License: ISC
-By: GitHub Inc.
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### semver-compare@v1.0.0
-
-License: MIT
-By: James Halliday
-Repository:
-
-> This software is released under the MIT license:
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-> the Software, and to permit persons to whom the Software is furnished to do so,
-> subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### shebang-command@v2.0.0
-
-License: MIT
-By: Kevin Mårtensson
-
-> MIT License
->
-> Copyright (c) Kevin Mårtensson (github.com/kevva)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### shebang-regex@v3.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### sigmund@v1.0.1
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### signal-exit@v3.0.7
-
-License: ISC
-By: Ben Coe
-Repository:
-
-> The ISC License
->
-> Copyright (c) 2015, Contributors
->
-> Permission to use, copy, modify, and/or distribute this software
-> for any purpose with or without fee is hereby granted, provided
-> that the above copyright notice and this permission notice
-> appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
-> OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
-> LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
-> OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-> WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-> ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### simple-html-tokenizer@v0.5.11
-
-License: MIT
-Repository:
-
-> Copyright (c) 2014 Yehuda Katz and contributors
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-> of the Software, and to permit persons to whom the Software is furnished to do
-> so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### slash@v3.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### state-toggle@v1.0.3
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### string-width@v5.0.1
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### strip-ansi@v7.0.1
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### strip-final-newline@v3.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### supports-color@v5.5.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### temp-dir@v2.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### tempy@v2.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### to-regex-range@v5.0.1
-
-License: MIT
-By: Jon Schlinkert
-
-> The MIT License (MIT)
->
-> Copyright (c) 2015-present, Jon Schlinkert.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### trim@v0.0.1
-
-By: TJ Holowaychuk
-
-----------------------------------------
-
-### trim-trailing-lines@v1.1.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### trough@v1.0.5
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### tslib@v1.14.1
-
-License: 0BSD
-By: Microsoft Corp.
-Repository:
-
-> Copyright (c) Microsoft Corporation.
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-> AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-> OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-> PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### tsutils@v3.21.0
-
-License: MIT
-By: Klaus Meinhardt
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2017 Klaus Meinhardt
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### typescript@v4.7.2
-
-License: Apache-2.0
-By: Microsoft Corp.
-Repository:
-
-> Apache License
->
-> Version 2.0, January 2004
->
-> http://www.apache.org/licenses/
->
-> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
->
-> 1. Definitions.
->
-> "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
->
-> "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
->
-> "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
->
-> "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
->
-> "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
->
-> "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
->
-> "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
->
-> "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
->
-> "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
->
-> "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
->
-> 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
->
-> 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
->
-> 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
->
-> You must give any other recipients of the Work or Derivative Works a copy of this License; and
->
-> You must cause any modified files to carry prominent notices stating that You changed the files; and
->
-> You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
->
-> If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
->
-> 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
->
-> 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
->
-> 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
->
-> 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
->
-> 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
->
-> END OF TERMS AND CONDITIONS
-
-----------------------------------------
-
-### unherit@v1.1.3
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### unified@v9.2.1
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### uniq@v1.0.1
-
-License: MIT
-By: Mikola Lysenko
-Repository:
-
-> The MIT License (MIT)
->
-> Copyright (c) 2013 Mikola Lysenko
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### unique-string@v3.0.0
-
-License: MIT
-By: Sindre Sorhus
-
-> MIT License
->
-> Copyright (c) Sindre Sorhus (https://sindresorhus.com)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### unist-util-is@v4.1.0
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT license)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### unist-util-remove-position@v2.0.1
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### unist-util-stringify-position@v2.0.3
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### unist-util-visit@v2.0.3
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### unist-util-visit-parents@v3.1.1
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### vfile@v4.2.1
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2015 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### vfile-location@v3.2.0
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2016 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### vfile-message@v2.0.4
-
-License: MIT
-By: Titus Wormer
-
-> (The MIT License)
->
-> Copyright (c) 2017 Titus Wormer
->
-> Permission is hereby granted, free of charge, to any person obtaining
-> a copy of this software and associated documentation files (the
-> 'Software'), to deal in the Software without restriction, including
-> without limitation the rights to use, copy, modify, merge, publish,
-> distribute, sublicense, and/or sell copies of the Software, and to
-> permit persons to whom the Software is furnished to do so, subject to
-> the following conditions:
->
-> The above copyright notice and this permission notice shall be
-> included in all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-----------------------------------------
-
-### vnopts@v1.0.2
-
-License: MIT
-By: Ika
-
-> MIT License
->
-> Copyright (c) Ika (https://github.com/ikatyang)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
-
-----------------------------------------
-
-### wcwidth@v1.0.1
-
-License: MIT
-By: Tim Oxley
-Repository:
-
-> wcwidth.js: JavaScript Portng of Markus Kuhn's wcwidth() Implementation
-> =======================================================================
->
-> Copyright (C) 2012 by Jun Woong.
->
-> This package is a JavaScript porting of `wcwidth()` implementation
-> [by Markus Kuhn](http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c).
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy of
-> this software and associated documentation files (the "Software"), to deal in
-> the Software without restriction, including without limitation the rights to
-> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-> of the Software, and to permit persons to whom the Software is furnished to do
-> so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
->
-> THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-> INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-> FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR
-> OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-> EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-> PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-> BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-> IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-> ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-> POSSIBILITY OF SUCH DAMAGE.
-
-----------------------------------------
-
-### which@v2.0.2
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### wrappy@v1.0.2
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### xtend@v4.0.2
-
-License: MIT
-By: Raynos
-
-> The MIT License (MIT)
-> Copyright (c) 2012-2014 Raynos.
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in
-> all copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-> THE SOFTWARE.
-
-----------------------------------------
-
-### yallist@v2.1.2
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### yallist@v4.0.0
-
-License: ISC
-By: Isaac Z. Schlueter
-Repository:
-
-> The ISC License
->
-> Copyright (c) Isaac Z. Schlueter and Contributors
->
-> Permission to use, copy, modify, and/or distribute this software for any
-> purpose with or without fee is hereby granted, provided that the above
-> copyright notice and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-----------------------------------------
-
-### yaml@v1.10.2
-
-License: ISC
-By: Eemeli Aro
-
-> Copyright 2018 Eemeli Aro
->
-> Permission to use, copy, modify, and/or distribute this software for any purpose
-> with or without fee is hereby granted, provided that the above copyright notice
-> and this permission notice appear in all copies.
->
-> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
-> OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-> TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-> THIS SOFTWARE.
-
-----------------------------------------
-
-### yaml-unist-parser@v1.3.1
-
-License: MIT
-By: Ika
-
-> MIT License
->
-> Copyright (c) Ika (https://github.com/ikatyang)
->
-> Permission is hereby granted, free of charge, to any person obtaining a copy
-> of this software and associated documentation files (the "Software"), to deal
-> in the Software without restriction, including without limitation the rights
-> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-> copies of the Software, and to permit persons to whom the Software is
-> furnished to do so, subject to the following conditions:
->
-> The above copyright notice and this permission notice shall be included in all
-> copies or substantial portions of the Software.
->
-> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-> SOFTWARE.
diff --git a/node_modules/prettier/README.md b/node_modules/prettier/README.md
deleted file mode 100644
index 943299e..0000000
--- a/node_modules/prettier/README.md
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-Opinionated Code Formatter
-
-
-
- JavaScript
- · TypeScript
- · Flow
- · JSX
- · JSON
-
-
-
- CSS
- · SCSS
- · Less
-
-
-
- HTML
- · Vue
- · Angular
-
-
-
- GraphQL
- · Markdown
- · YAML
-
-
-
-
- Your favorite language?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Intro
-
-Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.
-
-### Input
-
-
-```js
-foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());
-```
-
-### Output
-
-```js
-foo(
- reallyLongArg(),
- omgSoManyParameters(),
- IShouldRefactorThis(),
- isThereSeriouslyAnotherOne()
-);
-```
-
-Prettier can be run [in your editor](https://prettier.io/docs/en/editors.html) on-save, in a [pre-commit hook](https://prettier.io/docs/en/precommit.html), or in [CI environments](https://prettier.io/docs/en/cli.html#list-different) to ensure your codebase has a consistent style without devs ever having to post a nit-picky comment on a code review ever again!
-
----
-
-**[Documentation](https://prettier.io/docs/en/)**
-
-
-[Install](https://prettier.io/docs/en/install.html) ·
-[Options](https://prettier.io/docs/en/options.html) ·
-[CLI](https://prettier.io/docs/en/cli.html) ·
-[API](https://prettier.io/docs/en/api.html)
-
-**[Playground](https://prettier.io/playground/)**
-
----
-
-## Badge
-
-Show the world you're using _Prettier_ → [](https://github.com/prettier/prettier)
-
-```md
-[](https://github.com/prettier/prettier)
-```
-
-## Contributing
-
-See [CONTRIBUTING.md](CONTRIBUTING.md).
diff --git a/node_modules/prettier/bin-prettier.js b/node_modules/prettier/bin-prettier.js
deleted file mode 100755
index f8a11fb..0000000
--- a/node_modules/prettier/bin-prettier.js
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env node
-"use strict";
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __commonJS = function(cb, mod) {
- return function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
-};
-
-// node_modules/semver-compare/index.js
-var require_semver_compare = __commonJS({
- "node_modules/semver-compare/index.js": function(exports2, module2) {
- module2.exports = function cmp(a, b) {
- var pa = a.split(".");
- var pb = b.split(".");
- for (var i = 0; i < 3; i++) {
- var na = Number(pa[i]);
- var nb = Number(pb[i]);
- if (na > nb)
- return 1;
- if (nb > na)
- return -1;
- if (!isNaN(na) && isNaN(nb))
- return 1;
- if (isNaN(na) && !isNaN(nb))
- return -1;
- }
- return 0;
- };
- }
-});
-
-// node_modules/please-upgrade-node/index.js
-var require_please_upgrade_node = __commonJS({
- "node_modules/please-upgrade-node/index.js": function(exports2, module2) {
- var semverCompare = require_semver_compare();
- module2.exports = function pleaseUpgradeNode2(pkg, opts) {
- var opts = opts || {};
- var requiredVersion = pkg.engines.node.replace(">=", "");
- var currentVersion = process.version.replace("v", "");
- if (semverCompare(currentVersion, requiredVersion) === -1) {
- if (opts.message) {
- console.error(opts.message(requiredVersion));
- } else {
- console.error(pkg.name + " requires at least version " + requiredVersion + " of Node, please upgrade");
- }
- if (opts.hasOwnProperty("exitCode")) {
- process.exit(opts.exitCode);
- } else {
- process.exit(1);
- }
- }
- };
- }
-});
-
-// bin/prettier.js
-var pleaseUpgradeNode = require_please_upgrade_node();
-var packageJson = require("./package.json");
-pleaseUpgradeNode(packageJson);
-var cli = require("./cli.js");
-module.exports = cli.run(process.argv.slice(2));
diff --git a/node_modules/prettier/cli.js b/node_modules/prettier/cli.js
deleted file mode 100644
index 2e9f7ff..0000000
--- a/node_modules/prettier/cli.js
+++ /dev/null
@@ -1,15085 +0,0 @@
-"use strict";
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __commonJS = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
-};
-
-// node_modules/core-js/internals/global.js
-var require_global = __commonJS({
- "node_modules/core-js/internals/global.js"(exports2, module2) {
- var check = function(it) {
- return it && it.Math == Math && it;
- };
- module2.exports = check(typeof globalThis == "object" && globalThis) || check(typeof window == "object" && window) || check(typeof self == "object" && self) || check(typeof global == "object" && global) || function() {
- return this;
- }() || Function("return this")();
- }
-});
-
-// node_modules/core-js/internals/fails.js
-var require_fails = __commonJS({
- "node_modules/core-js/internals/fails.js"(exports2, module2) {
- module2.exports = function(exec) {
- try {
- return !!exec();
- } catch (error) {
- return true;
- }
- };
- }
-});
-
-// node_modules/core-js/internals/descriptors.js
-var require_descriptors = __commonJS({
- "node_modules/core-js/internals/descriptors.js"(exports2, module2) {
- var fails = require_fails();
- module2.exports = !fails(function() {
- return Object.defineProperty({}, 1, { get: function() {
- return 7;
- } })[1] != 7;
- });
- }
-});
-
-// node_modules/core-js/internals/function-bind-native.js
-var require_function_bind_native = __commonJS({
- "node_modules/core-js/internals/function-bind-native.js"(exports2, module2) {
- var fails = require_fails();
- module2.exports = !fails(function() {
- var test = function() {
- }.bind();
- return typeof test != "function" || test.hasOwnProperty("prototype");
- });
- }
-});
-
-// node_modules/core-js/internals/function-call.js
-var require_function_call = __commonJS({
- "node_modules/core-js/internals/function-call.js"(exports2, module2) {
- var NATIVE_BIND = require_function_bind_native();
- var call = Function.prototype.call;
- module2.exports = NATIVE_BIND ? call.bind(call) : function() {
- return call.apply(call, arguments);
- };
- }
-});
-
-// node_modules/core-js/internals/object-property-is-enumerable.js
-var require_object_property_is_enumerable = __commonJS({
- "node_modules/core-js/internals/object-property-is-enumerable.js"(exports2) {
- "use strict";
- var $propertyIsEnumerable = {}.propertyIsEnumerable;
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
- var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
- exports2.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
- } : $propertyIsEnumerable;
- }
-});
-
-// node_modules/core-js/internals/create-property-descriptor.js
-var require_create_property_descriptor = __commonJS({
- "node_modules/core-js/internals/create-property-descriptor.js"(exports2, module2) {
- module2.exports = function(bitmap, value) {
- return {
- enumerable: !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable: !(bitmap & 4),
- value
- };
- };
- }
-});
-
-// node_modules/core-js/internals/function-uncurry-this.js
-var require_function_uncurry_this = __commonJS({
- "node_modules/core-js/internals/function-uncurry-this.js"(exports2, module2) {
- var NATIVE_BIND = require_function_bind_native();
- var FunctionPrototype = Function.prototype;
- var bind = FunctionPrototype.bind;
- var call = FunctionPrototype.call;
- var uncurryThis = NATIVE_BIND && bind.bind(call, call);
- module2.exports = NATIVE_BIND ? function(fn) {
- return fn && uncurryThis(fn);
- } : function(fn) {
- return fn && function() {
- return call.apply(fn, arguments);
- };
- };
- }
-});
-
-// node_modules/core-js/internals/classof-raw.js
-var require_classof_raw = __commonJS({
- "node_modules/core-js/internals/classof-raw.js"(exports2, module2) {
- var uncurryThis = require_function_uncurry_this();
- var toString = uncurryThis({}.toString);
- var stringSlice = uncurryThis("".slice);
- module2.exports = function(it) {
- return stringSlice(toString(it), 8, -1);
- };
- }
-});
-
-// node_modules/core-js/internals/indexed-object.js
-var require_indexed_object = __commonJS({
- "node_modules/core-js/internals/indexed-object.js"(exports2, module2) {
- var global2 = require_global();
- var uncurryThis = require_function_uncurry_this();
- var fails = require_fails();
- var classof = require_classof_raw();
- var Object2 = global2.Object;
- var split = uncurryThis("".split);
- module2.exports = fails(function() {
- return !Object2("z").propertyIsEnumerable(0);
- }) ? function(it) {
- return classof(it) == "String" ? split(it, "") : Object2(it);
- } : Object2;
- }
-});
-
-// node_modules/core-js/internals/require-object-coercible.js
-var require_require_object_coercible = __commonJS({
- "node_modules/core-js/internals/require-object-coercible.js"(exports2, module2) {
- var global2 = require_global();
- var TypeError2 = global2.TypeError;
- module2.exports = function(it) {
- if (it == void 0)
- throw TypeError2("Can't call method on " + it);
- return it;
- };
- }
-});
-
-// node_modules/core-js/internals/to-indexed-object.js
-var require_to_indexed_object = __commonJS({
- "node_modules/core-js/internals/to-indexed-object.js"(exports2, module2) {
- var IndexedObject = require_indexed_object();
- var requireObjectCoercible = require_require_object_coercible();
- module2.exports = function(it) {
- return IndexedObject(requireObjectCoercible(it));
- };
- }
-});
-
-// node_modules/core-js/internals/is-callable.js
-var require_is_callable = __commonJS({
- "node_modules/core-js/internals/is-callable.js"(exports2, module2) {
- module2.exports = function(argument) {
- return typeof argument == "function";
- };
- }
-});
-
-// node_modules/core-js/internals/is-object.js
-var require_is_object = __commonJS({
- "node_modules/core-js/internals/is-object.js"(exports2, module2) {
- var isCallable = require_is_callable();
- module2.exports = function(it) {
- return typeof it == "object" ? it !== null : isCallable(it);
- };
- }
-});
-
-// node_modules/core-js/internals/get-built-in.js
-var require_get_built_in = __commonJS({
- "node_modules/core-js/internals/get-built-in.js"(exports2, module2) {
- var global2 = require_global();
- var isCallable = require_is_callable();
- var aFunction = function(argument) {
- return isCallable(argument) ? argument : void 0;
- };
- module2.exports = function(namespace, method) {
- return arguments.length < 2 ? aFunction(global2[namespace]) : global2[namespace] && global2[namespace][method];
- };
- }
-});
-
-// node_modules/core-js/internals/object-is-prototype-of.js
-var require_object_is_prototype_of = __commonJS({
- "node_modules/core-js/internals/object-is-prototype-of.js"(exports2, module2) {
- var uncurryThis = require_function_uncurry_this();
- module2.exports = uncurryThis({}.isPrototypeOf);
- }
-});
-
-// node_modules/core-js/internals/engine-user-agent.js
-var require_engine_user_agent = __commonJS({
- "node_modules/core-js/internals/engine-user-agent.js"(exports2, module2) {
- var getBuiltIn = require_get_built_in();
- module2.exports = getBuiltIn("navigator", "userAgent") || "";
- }
-});
-
-// node_modules/core-js/internals/engine-v8-version.js
-var require_engine_v8_version = __commonJS({
- "node_modules/core-js/internals/engine-v8-version.js"(exports2, module2) {
- var global2 = require_global();
- var userAgent = require_engine_user_agent();
- var process2 = global2.process;
- var Deno = global2.Deno;
- var versions = process2 && process2.versions || Deno && Deno.version;
- var v8 = versions && versions.v8;
- var match;
- var version;
- if (v8) {
- match = v8.split(".");
- version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
- }
- if (!version && userAgent) {
- match = userAgent.match(/Edge\/(\d+)/);
- if (!match || match[1] >= 74) {
- match = userAgent.match(/Chrome\/(\d+)/);
- if (match)
- version = +match[1];
- }
- }
- module2.exports = version;
- }
-});
-
-// node_modules/core-js/internals/native-symbol.js
-var require_native_symbol = __commonJS({
- "node_modules/core-js/internals/native-symbol.js"(exports2, module2) {
- var V8_VERSION = require_engine_v8_version();
- var fails = require_fails();
- module2.exports = !!Object.getOwnPropertySymbols && !fails(function() {
- var symbol = Symbol();
- return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;
- });
- }
-});
-
-// node_modules/core-js/internals/use-symbol-as-uid.js
-var require_use_symbol_as_uid = __commonJS({
- "node_modules/core-js/internals/use-symbol-as-uid.js"(exports2, module2) {
- var NATIVE_SYMBOL = require_native_symbol();
- module2.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == "symbol";
- }
-});
-
-// node_modules/core-js/internals/is-symbol.js
-var require_is_symbol = __commonJS({
- "node_modules/core-js/internals/is-symbol.js"(exports2, module2) {
- var global2 = require_global();
- var getBuiltIn = require_get_built_in();
- var isCallable = require_is_callable();
- var isPrototypeOf = require_object_is_prototype_of();
- var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();
- var Object2 = global2.Object;
- module2.exports = USE_SYMBOL_AS_UID ? function(it) {
- return typeof it == "symbol";
- } : function(it) {
- var $Symbol = getBuiltIn("Symbol");
- return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object2(it));
- };
- }
-});
-
-// node_modules/core-js/internals/try-to-string.js
-var require_try_to_string = __commonJS({
- "node_modules/core-js/internals/try-to-string.js"(exports2, module2) {
- var global2 = require_global();
- var String2 = global2.String;
- module2.exports = function(argument) {
- try {
- return String2(argument);
- } catch (error) {
- return "Object";
- }
- };
- }
-});
-
-// node_modules/core-js/internals/a-callable.js
-var require_a_callable = __commonJS({
- "node_modules/core-js/internals/a-callable.js"(exports2, module2) {
- var global2 = require_global();
- var isCallable = require_is_callable();
- var tryToString = require_try_to_string();
- var TypeError2 = global2.TypeError;
- module2.exports = function(argument) {
- if (isCallable(argument))
- return argument;
- throw TypeError2(tryToString(argument) + " is not a function");
- };
- }
-});
-
-// node_modules/core-js/internals/get-method.js
-var require_get_method = __commonJS({
- "node_modules/core-js/internals/get-method.js"(exports2, module2) {
- var aCallable = require_a_callable();
- module2.exports = function(V, P) {
- var func = V[P];
- return func == null ? void 0 : aCallable(func);
- };
- }
-});
-
-// node_modules/core-js/internals/ordinary-to-primitive.js
-var require_ordinary_to_primitive = __commonJS({
- "node_modules/core-js/internals/ordinary-to-primitive.js"(exports2, module2) {
- var global2 = require_global();
- var call = require_function_call();
- var isCallable = require_is_callable();
- var isObject = require_is_object();
- var TypeError2 = global2.TypeError;
- module2.exports = function(input, pref) {
- var fn, val;
- if (pref === "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))
- return val;
- if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input)))
- return val;
- if (pref !== "string" && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))
- return val;
- throw TypeError2("Can't convert object to primitive value");
- };
- }
-});
-
-// node_modules/core-js/internals/is-pure.js
-var require_is_pure = __commonJS({
- "node_modules/core-js/internals/is-pure.js"(exports2, module2) {
- module2.exports = false;
- }
-});
-
-// node_modules/core-js/internals/set-global.js
-var require_set_global = __commonJS({
- "node_modules/core-js/internals/set-global.js"(exports2, module2) {
- var global2 = require_global();
- var defineProperty = Object.defineProperty;
- module2.exports = function(key, value) {
- try {
- defineProperty(global2, key, { value, configurable: true, writable: true });
- } catch (error) {
- global2[key] = value;
- }
- return value;
- };
- }
-});
-
-// node_modules/core-js/internals/shared-store.js
-var require_shared_store = __commonJS({
- "node_modules/core-js/internals/shared-store.js"(exports2, module2) {
- var global2 = require_global();
- var setGlobal = require_set_global();
- var SHARED = "__core-js_shared__";
- var store = global2[SHARED] || setGlobal(SHARED, {});
- module2.exports = store;
- }
-});
-
-// node_modules/core-js/internals/shared.js
-var require_shared = __commonJS({
- "node_modules/core-js/internals/shared.js"(exports2, module2) {
- var IS_PURE = require_is_pure();
- var store = require_shared_store();
- (module2.exports = function(key, value) {
- return store[key] || (store[key] = value !== void 0 ? value : {});
- })("versions", []).push({
- version: "3.22.2",
- mode: IS_PURE ? "pure" : "global",
- copyright: "\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",
- license: "https://github.com/zloirock/core-js/blob/v3.22.2/LICENSE",
- source: "https://github.com/zloirock/core-js"
- });
- }
-});
-
-// node_modules/core-js/internals/to-object.js
-var require_to_object = __commonJS({
- "node_modules/core-js/internals/to-object.js"(exports2, module2) {
- var global2 = require_global();
- var requireObjectCoercible = require_require_object_coercible();
- var Object2 = global2.Object;
- module2.exports = function(argument) {
- return Object2(requireObjectCoercible(argument));
- };
- }
-});
-
-// node_modules/core-js/internals/has-own-property.js
-var require_has_own_property = __commonJS({
- "node_modules/core-js/internals/has-own-property.js"(exports2, module2) {
- var uncurryThis = require_function_uncurry_this();
- var toObject = require_to_object();
- var hasOwnProperty = uncurryThis({}.hasOwnProperty);
- module2.exports = Object.hasOwn || function hasOwn(it, key) {
- return hasOwnProperty(toObject(it), key);
- };
- }
-});
-
-// node_modules/core-js/internals/uid.js
-var require_uid = __commonJS({
- "node_modules/core-js/internals/uid.js"(exports2, module2) {
- var uncurryThis = require_function_uncurry_this();
- var id = 0;
- var postfix = Math.random();
- var toString = uncurryThis(1 .toString);
- module2.exports = function(key) {
- return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString(++id + postfix, 36);
- };
- }
-});
-
-// node_modules/core-js/internals/well-known-symbol.js
-var require_well_known_symbol = __commonJS({
- "node_modules/core-js/internals/well-known-symbol.js"(exports2, module2) {
- var global2 = require_global();
- var shared = require_shared();
- var hasOwn = require_has_own_property();
- var uid = require_uid();
- var NATIVE_SYMBOL = require_native_symbol();
- var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();
- var WellKnownSymbolsStore = shared("wks");
- var Symbol2 = global2.Symbol;
- var symbolFor = Symbol2 && Symbol2["for"];
- var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol2 : Symbol2 && Symbol2.withoutSetter || uid;
- module2.exports = function(name) {
- if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == "string")) {
- var description = "Symbol." + name;
- if (NATIVE_SYMBOL && hasOwn(Symbol2, name)) {
- WellKnownSymbolsStore[name] = Symbol2[name];
- } else if (USE_SYMBOL_AS_UID && symbolFor) {
- WellKnownSymbolsStore[name] = symbolFor(description);
- } else {
- WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
- }
- }
- return WellKnownSymbolsStore[name];
- };
- }
-});
-
-// node_modules/core-js/internals/to-primitive.js
-var require_to_primitive = __commonJS({
- "node_modules/core-js/internals/to-primitive.js"(exports2, module2) {
- var global2 = require_global();
- var call = require_function_call();
- var isObject = require_is_object();
- var isSymbol = require_is_symbol();
- var getMethod = require_get_method();
- var ordinaryToPrimitive = require_ordinary_to_primitive();
- var wellKnownSymbol = require_well_known_symbol();
- var TypeError2 = global2.TypeError;
- var TO_PRIMITIVE = wellKnownSymbol("toPrimitive");
- module2.exports = function(input, pref) {
- if (!isObject(input) || isSymbol(input))
- return input;
- var exoticToPrim = getMethod(input, TO_PRIMITIVE);
- var result;
- if (exoticToPrim) {
- if (pref === void 0)
- pref = "default";
- result = call(exoticToPrim, input, pref);
- if (!isObject(result) || isSymbol(result))
- return result;
- throw TypeError2("Can't convert object to primitive value");
- }
- if (pref === void 0)
- pref = "number";
- return ordinaryToPrimitive(input, pref);
- };
- }
-});
-
-// node_modules/core-js/internals/to-property-key.js
-var require_to_property_key = __commonJS({
- "node_modules/core-js/internals/to-property-key.js"(exports2, module2) {
- var toPrimitive = require_to_primitive();
- var isSymbol = require_is_symbol();
- module2.exports = function(argument) {
- var key = toPrimitive(argument, "string");
- return isSymbol(key) ? key : key + "";
- };
- }
-});
-
-// node_modules/core-js/internals/document-create-element.js
-var require_document_create_element = __commonJS({
- "node_modules/core-js/internals/document-create-element.js"(exports2, module2) {
- var global2 = require_global();
- var isObject = require_is_object();
- var document = global2.document;
- var EXISTS = isObject(document) && isObject(document.createElement);
- module2.exports = function(it) {
- return EXISTS ? document.createElement(it) : {};
- };
- }
-});
-
-// node_modules/core-js/internals/ie8-dom-define.js
-var require_ie8_dom_define = __commonJS({
- "node_modules/core-js/internals/ie8-dom-define.js"(exports2, module2) {
- var DESCRIPTORS = require_descriptors();
- var fails = require_fails();
- var createElement = require_document_create_element();
- module2.exports = !DESCRIPTORS && !fails(function() {
- return Object.defineProperty(createElement("div"), "a", {
- get: function() {
- return 7;
- }
- }).a != 7;
- });
- }
-});
-
-// node_modules/core-js/internals/object-get-own-property-descriptor.js
-var require_object_get_own_property_descriptor = __commonJS({
- "node_modules/core-js/internals/object-get-own-property-descriptor.js"(exports2) {
- var DESCRIPTORS = require_descriptors();
- var call = require_function_call();
- var propertyIsEnumerableModule = require_object_property_is_enumerable();
- var createPropertyDescriptor = require_create_property_descriptor();
- var toIndexedObject = require_to_indexed_object();
- var toPropertyKey = require_to_property_key();
- var hasOwn = require_has_own_property();
- var IE8_DOM_DEFINE = require_ie8_dom_define();
- var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
- exports2.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPropertyKey(P);
- if (IE8_DOM_DEFINE)
- try {
- return $getOwnPropertyDescriptor(O, P);
- } catch (error) {
- }
- if (hasOwn(O, P))
- return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
- };
- }
-});
-
-// node_modules/core-js/internals/v8-prototype-define-bug.js
-var require_v8_prototype_define_bug = __commonJS({
- "node_modules/core-js/internals/v8-prototype-define-bug.js"(exports2, module2) {
- var DESCRIPTORS = require_descriptors();
- var fails = require_fails();
- module2.exports = DESCRIPTORS && fails(function() {
- return Object.defineProperty(function() {
- }, "prototype", {
- value: 42,
- writable: false
- }).prototype != 42;
- });
- }
-});
-
-// node_modules/core-js/internals/an-object.js
-var require_an_object = __commonJS({
- "node_modules/core-js/internals/an-object.js"(exports2, module2) {
- var global2 = require_global();
- var isObject = require_is_object();
- var String2 = global2.String;
- var TypeError2 = global2.TypeError;
- module2.exports = function(argument) {
- if (isObject(argument))
- return argument;
- throw TypeError2(String2(argument) + " is not an object");
- };
- }
-});
-
-// node_modules/core-js/internals/object-define-property.js
-var require_object_define_property = __commonJS({
- "node_modules/core-js/internals/object-define-property.js"(exports2) {
- var global2 = require_global();
- var DESCRIPTORS = require_descriptors();
- var IE8_DOM_DEFINE = require_ie8_dom_define();
- var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();
- var anObject = require_an_object();
- var toPropertyKey = require_to_property_key();
- var TypeError2 = global2.TypeError;
- var $defineProperty = Object.defineProperty;
- var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
- var ENUMERABLE = "enumerable";
- var CONFIGURABLE = "configurable";
- var WRITABLE = "writable";
- exports2.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPropertyKey(P);
- anObject(Attributes);
- if (typeof O === "function" && P === "prototype" && "value" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
- var current = $getOwnPropertyDescriptor(O, P);
- if (current && current[WRITABLE]) {
- O[P] = Attributes.value;
- Attributes = {
- configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
- enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
- writable: false
- };
- }
- }
- return $defineProperty(O, P, Attributes);
- } : $defineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPropertyKey(P);
- anObject(Attributes);
- if (IE8_DOM_DEFINE)
- try {
- return $defineProperty(O, P, Attributes);
- } catch (error) {
- }
- if ("get" in Attributes || "set" in Attributes)
- throw TypeError2("Accessors not supported");
- if ("value" in Attributes)
- O[P] = Attributes.value;
- return O;
- };
- }
-});
-
-// node_modules/core-js/internals/create-non-enumerable-property.js
-var require_create_non_enumerable_property = __commonJS({
- "node_modules/core-js/internals/create-non-enumerable-property.js"(exports2, module2) {
- var DESCRIPTORS = require_descriptors();
- var definePropertyModule = require_object_define_property();
- var createPropertyDescriptor = require_create_property_descriptor();
- module2.exports = DESCRIPTORS ? function(object, key, value) {
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
- } : function(object, key, value) {
- object[key] = value;
- return object;
- };
- }
-});
-
-// node_modules/core-js/internals/inspect-source.js
-var require_inspect_source = __commonJS({
- "node_modules/core-js/internals/inspect-source.js"(exports2, module2) {
- var uncurryThis = require_function_uncurry_this();
- var isCallable = require_is_callable();
- var store = require_shared_store();
- var functionToString = uncurryThis(Function.toString);
- if (!isCallable(store.inspectSource)) {
- store.inspectSource = function(it) {
- return functionToString(it);
- };
- }
- module2.exports = store.inspectSource;
- }
-});
-
-// node_modules/core-js/internals/native-weak-map.js
-var require_native_weak_map = __commonJS({
- "node_modules/core-js/internals/native-weak-map.js"(exports2, module2) {
- var global2 = require_global();
- var isCallable = require_is_callable();
- var inspectSource = require_inspect_source();
- var WeakMap2 = global2.WeakMap;
- module2.exports = isCallable(WeakMap2) && /native code/.test(inspectSource(WeakMap2));
- }
-});
-
-// node_modules/core-js/internals/shared-key.js
-var require_shared_key = __commonJS({
- "node_modules/core-js/internals/shared-key.js"(exports2, module2) {
- var shared = require_shared();
- var uid = require_uid();
- var keys = shared("keys");
- module2.exports = function(key) {
- return keys[key] || (keys[key] = uid(key));
- };
- }
-});
-
-// node_modules/core-js/internals/hidden-keys.js
-var require_hidden_keys = __commonJS({
- "node_modules/core-js/internals/hidden-keys.js"(exports2, module2) {
- module2.exports = {};
- }
-});
-
-// node_modules/core-js/internals/internal-state.js
-var require_internal_state = __commonJS({
- "node_modules/core-js/internals/internal-state.js"(exports2, module2) {
- var NATIVE_WEAK_MAP = require_native_weak_map();
- var global2 = require_global();
- var uncurryThis = require_function_uncurry_this();
- var isObject = require_is_object();
- var createNonEnumerableProperty = require_create_non_enumerable_property();
- var hasOwn = require_has_own_property();
- var shared = require_shared_store();
- var sharedKey = require_shared_key();
- var hiddenKeys = require_hidden_keys();
- var OBJECT_ALREADY_INITIALIZED = "Object already initialized";
- var TypeError2 = global2.TypeError;
- var WeakMap2 = global2.WeakMap;
- var set;
- var get;
- var has;
- var enforce = function(it) {
- return has(it) ? get(it) : set(it, {});
- };
- var getterFor = function(TYPE) {
- return function(it) {
- var state;
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
- throw TypeError2("Incompatible receiver, " + TYPE + " required");
- }
- return state;
- };
- };
- if (NATIVE_WEAK_MAP || shared.state) {
- store = shared.state || (shared.state = new WeakMap2());
- wmget = uncurryThis(store.get);
- wmhas = uncurryThis(store.has);
- wmset = uncurryThis(store.set);
- set = function(it, metadata) {
- if (wmhas(store, it))
- throw new TypeError2(OBJECT_ALREADY_INITIALIZED);
- metadata.facade = it;
- wmset(store, it, metadata);
- return metadata;
- };
- get = function(it) {
- return wmget(store, it) || {};
- };
- has = function(it) {
- return wmhas(store, it);
- };
- } else {
- STATE = sharedKey("state");
- hiddenKeys[STATE] = true;
- set = function(it, metadata) {
- if (hasOwn(it, STATE))
- throw new TypeError2(OBJECT_ALREADY_INITIALIZED);
- metadata.facade = it;
- createNonEnumerableProperty(it, STATE, metadata);
- return metadata;
- };
- get = function(it) {
- return hasOwn(it, STATE) ? it[STATE] : {};
- };
- has = function(it) {
- return hasOwn(it, STATE);
- };
- }
- var store;
- var wmget;
- var wmhas;
- var wmset;
- var STATE;
- module2.exports = {
- set,
- get,
- has,
- enforce,
- getterFor
- };
- }
-});
-
-// node_modules/core-js/internals/function-name.js
-var require_function_name = __commonJS({
- "node_modules/core-js/internals/function-name.js"(exports2, module2) {
- var DESCRIPTORS = require_descriptors();
- var hasOwn = require_has_own_property();
- var FunctionPrototype = Function.prototype;
- var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
- var EXISTS = hasOwn(FunctionPrototype, "name");
- var PROPER = EXISTS && function something() {
- }.name === "something";
- var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, "name").configurable);
- module2.exports = {
- EXISTS,
- PROPER,
- CONFIGURABLE
- };
- }
-});
-
-// node_modules/core-js/internals/redefine.js
-var require_redefine = __commonJS({
- "node_modules/core-js/internals/redefine.js"(exports2, module2) {
- var global2 = require_global();
- var isCallable = require_is_callable();
- var hasOwn = require_has_own_property();
- var createNonEnumerableProperty = require_create_non_enumerable_property();
- var setGlobal = require_set_global();
- var inspectSource = require_inspect_source();
- var InternalStateModule = require_internal_state();
- var CONFIGURABLE_FUNCTION_NAME = require_function_name().CONFIGURABLE;
- var getInternalState = InternalStateModule.get;
- var enforceInternalState = InternalStateModule.enforce;
- var TEMPLATE = String(String).split("String");
- (module2.exports = function(O, key, value, options) {
- var unsafe = options ? !!options.unsafe : false;
- var simple = options ? !!options.enumerable : false;
- var noTargetGet = options ? !!options.noTargetGet : false;
- var name = options && options.name !== void 0 ? options.name : key;
- var state;
- if (isCallable(value)) {
- if (String(name).slice(0, 7) === "Symbol(") {
- name = "[" + String(name).replace(/^Symbol\(([^)]*)\)/, "$1") + "]";
- }
- if (!hasOwn(value, "name") || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
- createNonEnumerableProperty(value, "name", name);
- }
- state = enforceInternalState(value);
- if (!state.source) {
- state.source = TEMPLATE.join(typeof name == "string" ? name : "");
- }
- }
- if (O === global2) {
- if (simple)
- O[key] = value;
- else
- setGlobal(key, value);
- return;
- } else if (!unsafe) {
- delete O[key];
- } else if (!noTargetGet && O[key]) {
- simple = true;
- }
- if (simple)
- O[key] = value;
- else
- createNonEnumerableProperty(O, key, value);
- })(Function.prototype, "toString", function toString() {
- return isCallable(this) && getInternalState(this).source || inspectSource(this);
- });
- }
-});
-
-// node_modules/core-js/internals/to-integer-or-infinity.js
-var require_to_integer_or_infinity = __commonJS({
- "node_modules/core-js/internals/to-integer-or-infinity.js"(exports2, module2) {
- var ceil = Math.ceil;
- var floor = Math.floor;
- module2.exports = function(argument) {
- var number = +argument;
- return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
- };
- }
-});
-
-// node_modules/core-js/internals/to-absolute-index.js
-var require_to_absolute_index = __commonJS({
- "node_modules/core-js/internals/to-absolute-index.js"(exports2, module2) {
- var toIntegerOrInfinity = require_to_integer_or_infinity();
- var max = Math.max;
- var min = Math.min;
- module2.exports = function(index, length) {
- var integer = toIntegerOrInfinity(index);
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
- };
- }
-});
-
-// node_modules/core-js/internals/to-length.js
-var require_to_length = __commonJS({
- "node_modules/core-js/internals/to-length.js"(exports2, module2) {
- var toIntegerOrInfinity = require_to_integer_or_infinity();
- var min = Math.min;
- module2.exports = function(argument) {
- return argument > 0 ? min(toIntegerOrInfinity(argument), 9007199254740991) : 0;
- };
- }
-});
-
-// node_modules/core-js/internals/length-of-array-like.js
-var require_length_of_array_like = __commonJS({
- "node_modules/core-js/internals/length-of-array-like.js"(exports2, module2) {
- var toLength = require_to_length();
- module2.exports = function(obj) {
- return toLength(obj.length);
- };
- }
-});
-
-// node_modules/core-js/internals/array-includes.js
-var require_array_includes = __commonJS({
- "node_modules/core-js/internals/array-includes.js"(exports2, module2) {
- var toIndexedObject = require_to_indexed_object();
- var toAbsoluteIndex = require_to_absolute_index();
- var lengthOfArrayLike = require_length_of_array_like();
- var createMethod = function(IS_INCLUDES) {
- return function($this, el, fromIndex) {
- var O = toIndexedObject($this);
- var length = lengthOfArrayLike(O);
- var index = toAbsoluteIndex(fromIndex, length);
- var value;
- if (IS_INCLUDES && el != el)
- while (length > index) {
- value = O[index++];
- if (value != value)
- return true;
- }
- else
- for (; length > index; index++) {
- if ((IS_INCLUDES || index in O) && O[index] === el)
- return IS_INCLUDES || index || 0;
- }
- return !IS_INCLUDES && -1;
- };
- };
- module2.exports = {
- includes: createMethod(true),
- indexOf: createMethod(false)
- };
- }
-});
-
-// node_modules/core-js/internals/object-keys-internal.js
-var require_object_keys_internal = __commonJS({
- "node_modules/core-js/internals/object-keys-internal.js"(exports2, module2) {
- var uncurryThis = require_function_uncurry_this();
- var hasOwn = require_has_own_property();
- var toIndexedObject = require_to_indexed_object();
- var indexOf = require_array_includes().indexOf;
- var hiddenKeys = require_hidden_keys();
- var push = uncurryThis([].push);
- module2.exports = function(object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
- for (key in O)
- !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
- while (names.length > i)
- if (hasOwn(O, key = names[i++])) {
- ~indexOf(result, key) || push(result, key);
- }
- return result;
- };
- }
-});
-
-// node_modules/core-js/internals/enum-bug-keys.js
-var require_enum_bug_keys = __commonJS({
- "node_modules/core-js/internals/enum-bug-keys.js"(exports2, module2) {
- module2.exports = [
- "constructor",
- "hasOwnProperty",
- "isPrototypeOf",
- "propertyIsEnumerable",
- "toLocaleString",
- "toString",
- "valueOf"
- ];
- }
-});
-
-// node_modules/core-js/internals/object-get-own-property-names.js
-var require_object_get_own_property_names = __commonJS({
- "node_modules/core-js/internals/object-get-own-property-names.js"(exports2) {
- var internalObjectKeys = require_object_keys_internal();
- var enumBugKeys = require_enum_bug_keys();
- var hiddenKeys = enumBugKeys.concat("length", "prototype");
- exports2.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return internalObjectKeys(O, hiddenKeys);
- };
- }
-});
-
-// node_modules/core-js/internals/object-get-own-property-symbols.js
-var require_object_get_own_property_symbols = __commonJS({
- "node_modules/core-js/internals/object-get-own-property-symbols.js"(exports2) {
- exports2.f = Object.getOwnPropertySymbols;
- }
-});
-
-// node_modules/core-js/internals/own-keys.js
-var require_own_keys = __commonJS({
- "node_modules/core-js/internals/own-keys.js"(exports2, module2) {
- var getBuiltIn = require_get_built_in();
- var uncurryThis = require_function_uncurry_this();
- var getOwnPropertyNamesModule = require_object_get_own_property_names();
- var getOwnPropertySymbolsModule = require_object_get_own_property_symbols();
- var anObject = require_an_object();
- var concat = uncurryThis([].concat);
- module2.exports = getBuiltIn("Reflect", "ownKeys") || function ownKeys(it) {
- var keys = getOwnPropertyNamesModule.f(anObject(it));
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
- };
- }
-});
-
-// node_modules/core-js/internals/copy-constructor-properties.js
-var require_copy_constructor_properties = __commonJS({
- "node_modules/core-js/internals/copy-constructor-properties.js"(exports2, module2) {
- var hasOwn = require_has_own_property();
- var ownKeys = require_own_keys();
- var getOwnPropertyDescriptorModule = require_object_get_own_property_descriptor();
- var definePropertyModule = require_object_define_property();
- module2.exports = function(target, source, exceptions) {
- var keys = ownKeys(source);
- var defineProperty = definePropertyModule.f;
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
- defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
- }
- };
- }
-});
-
-// node_modules/core-js/internals/is-forced.js
-var require_is_forced = __commonJS({
- "node_modules/core-js/internals/is-forced.js"(exports2, module2) {
- var fails = require_fails();
- var isCallable = require_is_callable();
- var replacement = /#|\.prototype\./;
- var isForced = function(feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
- };
- var normalize = isForced.normalize = function(string) {
- return String(string).replace(replacement, ".").toLowerCase();
- };
- var data = isForced.data = {};
- var NATIVE = isForced.NATIVE = "N";
- var POLYFILL = isForced.POLYFILL = "P";
- module2.exports = isForced;
- }
-});
-
-// node_modules/core-js/internals/export.js
-var require_export = __commonJS({
- "node_modules/core-js/internals/export.js"(exports2, module2) {
- var global2 = require_global();
- var getOwnPropertyDescriptor = require_object_get_own_property_descriptor().f;
- var createNonEnumerableProperty = require_create_non_enumerable_property();
- var redefine = require_redefine();
- var setGlobal = require_set_global();
- var copyConstructorProperties = require_copy_constructor_properties();
- var isForced = require_is_forced();
- module2.exports = function(options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
- if (GLOBAL) {
- target = global2;
- } else if (STATIC) {
- target = global2[TARGET] || setGlobal(TARGET, {});
- } else {
- target = (global2[TARGET] || {}).prototype;
- }
- if (target)
- for (key in source) {
- sourceProperty = source[key];
- if (options.noTargetGet) {
- descriptor = getOwnPropertyDescriptor(target, key);
- targetProperty = descriptor && descriptor.value;
- } else
- targetProperty = target[key];
- FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? "." : "#") + key, options.forced);
- if (!FORCED && targetProperty !== void 0) {
- if (typeof sourceProperty == typeof targetProperty)
- continue;
- copyConstructorProperties(sourceProperty, targetProperty);
- }
- if (options.sham || targetProperty && targetProperty.sham) {
- createNonEnumerableProperty(sourceProperty, "sham", true);
- }
- redefine(target, key, sourceProperty, options);
- }
- };
- }
-});
-
-// node_modules/core-js/internals/function-bind-context.js
-var require_function_bind_context = __commonJS({
- "node_modules/core-js/internals/function-bind-context.js"(exports2, module2) {
- var uncurryThis = require_function_uncurry_this();
- var aCallable = require_a_callable();
- var NATIVE_BIND = require_function_bind_native();
- var bind = uncurryThis(uncurryThis.bind);
- module2.exports = function(fn, that) {
- aCallable(fn);
- return that === void 0 ? fn : NATIVE_BIND ? bind(fn, that) : function() {
- return fn.apply(that, arguments);
- };
- };
- }
-});
-
-// node_modules/core-js/internals/iterators.js
-var require_iterators = __commonJS({
- "node_modules/core-js/internals/iterators.js"(exports2, module2) {
- module2.exports = {};
- }
-});
-
-// node_modules/core-js/internals/is-array-iterator-method.js
-var require_is_array_iterator_method = __commonJS({
- "node_modules/core-js/internals/is-array-iterator-method.js"(exports2, module2) {
- var wellKnownSymbol = require_well_known_symbol();
- var Iterators = require_iterators();
- var ITERATOR = wellKnownSymbol("iterator");
- var ArrayPrototype = Array.prototype;
- module2.exports = function(it) {
- return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
- };
- }
-});
-
-// node_modules/core-js/internals/to-string-tag-support.js
-var require_to_string_tag_support = __commonJS({
- "node_modules/core-js/internals/to-string-tag-support.js"(exports2, module2) {
- var wellKnownSymbol = require_well_known_symbol();
- var TO_STRING_TAG = wellKnownSymbol("toStringTag");
- var test = {};
- test[TO_STRING_TAG] = "z";
- module2.exports = String(test) === "[object z]";
- }
-});
-
-// node_modules/core-js/internals/classof.js
-var require_classof = __commonJS({
- "node_modules/core-js/internals/classof.js"(exports2, module2) {
- var global2 = require_global();
- var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();
- var isCallable = require_is_callable();
- var classofRaw = require_classof_raw();
- var wellKnownSymbol = require_well_known_symbol();
- var TO_STRING_TAG = wellKnownSymbol("toStringTag");
- var Object2 = global2.Object;
- var CORRECT_ARGUMENTS = classofRaw(function() {
- return arguments;
- }()) == "Arguments";
- var tryGet = function(it, key) {
- try {
- return it[key];
- } catch (error) {
- }
- };
- module2.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) {
- var O, tag, result;
- return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = Object2(it), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == "Object" && isCallable(O.callee) ? "Arguments" : result;
- };
- }
-});
-
-// node_modules/core-js/internals/get-iterator-method.js
-var require_get_iterator_method = __commonJS({
- "node_modules/core-js/internals/get-iterator-method.js"(exports2, module2) {
- var classof = require_classof();
- var getMethod = require_get_method();
- var Iterators = require_iterators();
- var wellKnownSymbol = require_well_known_symbol();
- var ITERATOR = wellKnownSymbol("iterator");
- module2.exports = function(it) {
- if (it != void 0)
- return getMethod(it, ITERATOR) || getMethod(it, "@@iterator") || Iterators[classof(it)];
- };
- }
-});
-
-// node_modules/core-js/internals/get-iterator.js
-var require_get_iterator = __commonJS({
- "node_modules/core-js/internals/get-iterator.js"(exports2, module2) {
- var global2 = require_global();
- var call = require_function_call();
- var aCallable = require_a_callable();
- var anObject = require_an_object();
- var tryToString = require_try_to_string();
- var getIteratorMethod = require_get_iterator_method();
- var TypeError2 = global2.TypeError;
- module2.exports = function(argument, usingIterator) {
- var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
- if (aCallable(iteratorMethod))
- return anObject(call(iteratorMethod, argument));
- throw TypeError2(tryToString(argument) + " is not iterable");
- };
- }
-});
-
-// node_modules/core-js/internals/iterator-close.js
-var require_iterator_close = __commonJS({
- "node_modules/core-js/internals/iterator-close.js"(exports2, module2) {
- var call = require_function_call();
- var anObject = require_an_object();
- var getMethod = require_get_method();
- module2.exports = function(iterator, kind, value) {
- var innerResult, innerError;
- anObject(iterator);
- try {
- innerResult = getMethod(iterator, "return");
- if (!innerResult) {
- if (kind === "throw")
- throw value;
- return value;
- }
- innerResult = call(innerResult, iterator);
- } catch (error) {
- innerError = true;
- innerResult = error;
- }
- if (kind === "throw")
- throw value;
- if (innerError)
- throw innerResult;
- anObject(innerResult);
- return value;
- };
- }
-});
-
-// node_modules/core-js/internals/iterate.js
-var require_iterate = __commonJS({
- "node_modules/core-js/internals/iterate.js"(exports2, module2) {
- var global2 = require_global();
- var bind = require_function_bind_context();
- var call = require_function_call();
- var anObject = require_an_object();
- var tryToString = require_try_to_string();
- var isArrayIteratorMethod = require_is_array_iterator_method();
- var lengthOfArrayLike = require_length_of_array_like();
- var isPrototypeOf = require_object_is_prototype_of();
- var getIterator = require_get_iterator();
- var getIteratorMethod = require_get_iterator_method();
- var iteratorClose = require_iterator_close();
- var TypeError2 = global2.TypeError;
- var Result = function(stopped, result) {
- this.stopped = stopped;
- this.result = result;
- };
- var ResultPrototype = Result.prototype;
- module2.exports = function(iterable, unboundFunction, options) {
- var that = options && options.that;
- var AS_ENTRIES = !!(options && options.AS_ENTRIES);
- var IS_ITERATOR = !!(options && options.IS_ITERATOR);
- var INTERRUPTED = !!(options && options.INTERRUPTED);
- var fn = bind(unboundFunction, that);
- var iterator, iterFn, index, length, result, next, step;
- var stop = function(condition) {
- if (iterator)
- iteratorClose(iterator, "normal", condition);
- return new Result(true, condition);
- };
- var callFn = function(value) {
- if (AS_ENTRIES) {
- anObject(value);
- return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
- }
- return INTERRUPTED ? fn(value, stop) : fn(value);
- };
- if (IS_ITERATOR) {
- iterator = iterable;
- } else {
- iterFn = getIteratorMethod(iterable);
- if (!iterFn)
- throw TypeError2(tryToString(iterable) + " is not iterable");
- if (isArrayIteratorMethod(iterFn)) {
- for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
- result = callFn(iterable[index]);
- if (result && isPrototypeOf(ResultPrototype, result))
- return result;
- }
- return new Result(false);
- }
- iterator = getIterator(iterable, iterFn);
- }
- next = iterator.next;
- while (!(step = call(next, iterator)).done) {
- try {
- result = callFn(step.value);
- } catch (error) {
- iteratorClose(iterator, "throw", error);
- }
- if (typeof result == "object" && result && isPrototypeOf(ResultPrototype, result))
- return result;
- }
- return new Result(false);
- };
- }
-});
-
-// node_modules/core-js/internals/create-property.js
-var require_create_property = __commonJS({
- "node_modules/core-js/internals/create-property.js"(exports2, module2) {
- "use strict";
- var toPropertyKey = require_to_property_key();
- var definePropertyModule = require_object_define_property();
- var createPropertyDescriptor = require_create_property_descriptor();
- module2.exports = function(object, key, value) {
- var propertyKey = toPropertyKey(key);
- if (propertyKey in object)
- definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
- else
- object[propertyKey] = value;
- };
- }
-});
-
-// node_modules/core-js/modules/es.object.from-entries.js
-var require_es_object_from_entries = __commonJS({
- "node_modules/core-js/modules/es.object.from-entries.js"() {
- var $ = require_export();
- var iterate = require_iterate();
- var createProperty = require_create_property();
- $({ target: "Object", stat: true }, {
- fromEntries: function fromEntries(iterable) {
- var obj = {};
- iterate(iterable, function(k, v) {
- createProperty(obj, k, v);
- }, { AS_ENTRIES: true });
- return obj;
- }
- });
- }
-});
-
-// node_modules/core-js/internals/is-array.js
-var require_is_array = __commonJS({
- "node_modules/core-js/internals/is-array.js"(exports2, module2) {
- var classof = require_classof_raw();
- module2.exports = Array.isArray || function isArray(argument) {
- return classof(argument) == "Array";
- };
- }
-});
-
-// node_modules/core-js/internals/flatten-into-array.js
-var require_flatten_into_array = __commonJS({
- "node_modules/core-js/internals/flatten-into-array.js"(exports2, module2) {
- "use strict";
- var global2 = require_global();
- var isArray = require_is_array();
- var lengthOfArrayLike = require_length_of_array_like();
- var bind = require_function_bind_context();
- var TypeError2 = global2.TypeError;
- var flattenIntoArray = function(target, original, source, sourceLen, start, depth, mapper, thisArg) {
- var targetIndex = start;
- var sourceIndex = 0;
- var mapFn = mapper ? bind(mapper, thisArg) : false;
- var element, elementLen;
- while (sourceIndex < sourceLen) {
- if (sourceIndex in source) {
- element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
- if (depth > 0 && isArray(element)) {
- elementLen = lengthOfArrayLike(element);
- targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;
- } else {
- if (targetIndex >= 9007199254740991)
- throw TypeError2("Exceed the acceptable array length");
- target[targetIndex] = element;
- }
- targetIndex++;
- }
- sourceIndex++;
- }
- return targetIndex;
- };
- module2.exports = flattenIntoArray;
- }
-});
-
-// node_modules/core-js/internals/is-constructor.js
-var require_is_constructor = __commonJS({
- "node_modules/core-js/internals/is-constructor.js"(exports2, module2) {
- var uncurryThis = require_function_uncurry_this();
- var fails = require_fails();
- var isCallable = require_is_callable();
- var classof = require_classof();
- var getBuiltIn = require_get_built_in();
- var inspectSource = require_inspect_source();
- var noop = function() {
- };
- var empty = [];
- var construct = getBuiltIn("Reflect", "construct");
- var constructorRegExp = /^\s*(?:class|function)\b/;
- var exec = uncurryThis(constructorRegExp.exec);
- var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
- var isConstructorModern = function isConstructor(argument) {
- if (!isCallable(argument))
- return false;
- try {
- construct(noop, empty, argument);
- return true;
- } catch (error) {
- return false;
- }
- };
- var isConstructorLegacy = function isConstructor(argument) {
- if (!isCallable(argument))
- return false;
- switch (classof(argument)) {
- case "AsyncFunction":
- case "GeneratorFunction":
- case "AsyncGeneratorFunction":
- return false;
- }
- try {
- return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
- } catch (error) {
- return true;
- }
- };
- isConstructorLegacy.sham = true;
- module2.exports = !construct || fails(function() {
- var called;
- return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() {
- called = true;
- }) || called;
- }) ? isConstructorLegacy : isConstructorModern;
- }
-});
-
-// node_modules/core-js/internals/array-species-constructor.js
-var require_array_species_constructor = __commonJS({
- "node_modules/core-js/internals/array-species-constructor.js"(exports2, module2) {
- var global2 = require_global();
- var isArray = require_is_array();
- var isConstructor = require_is_constructor();
- var isObject = require_is_object();
- var wellKnownSymbol = require_well_known_symbol();
- var SPECIES = wellKnownSymbol("species");
- var Array2 = global2.Array;
- module2.exports = function(originalArray) {
- var C;
- if (isArray(originalArray)) {
- C = originalArray.constructor;
- if (isConstructor(C) && (C === Array2 || isArray(C.prototype)))
- C = void 0;
- else if (isObject(C)) {
- C = C[SPECIES];
- if (C === null)
- C = void 0;
- }
- }
- return C === void 0 ? Array2 : C;
- };
- }
-});
-
-// node_modules/core-js/internals/array-species-create.js
-var require_array_species_create = __commonJS({
- "node_modules/core-js/internals/array-species-create.js"(exports2, module2) {
- var arraySpeciesConstructor = require_array_species_constructor();
- module2.exports = function(originalArray, length) {
- return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
- };
- }
-});
-
-// node_modules/core-js/modules/es.array.flat-map.js
-var require_es_array_flat_map = __commonJS({
- "node_modules/core-js/modules/es.array.flat-map.js"() {
- "use strict";
- var $ = require_export();
- var flattenIntoArray = require_flatten_into_array();
- var aCallable = require_a_callable();
- var toObject = require_to_object();
- var lengthOfArrayLike = require_length_of_array_like();
- var arraySpeciesCreate = require_array_species_create();
- $({ target: "Array", proto: true }, {
- flatMap: function flatMap(callbackfn) {
- var O = toObject(this);
- var sourceLen = lengthOfArrayLike(O);
- var A;
- aCallable(callbackfn);
- A = arraySpeciesCreate(O, 0);
- A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : void 0);
- return A;
- }
- });
- }
-});
-
-// node_modules/core-js/modules/es.array.flat.js
-var require_es_array_flat = __commonJS({
- "node_modules/core-js/modules/es.array.flat.js"() {
- "use strict";
- var $ = require_export();
- var flattenIntoArray = require_flatten_into_array();
- var toObject = require_to_object();
- var lengthOfArrayLike = require_length_of_array_like();
- var toIntegerOrInfinity = require_to_integer_or_infinity();
- var arraySpeciesCreate = require_array_species_create();
- $({ target: "Array", proto: true }, {
- flat: function flat() {
- var depthArg = arguments.length ? arguments[0] : void 0;
- var O = toObject(this);
- var sourceLen = lengthOfArrayLike(O);
- var A = arraySpeciesCreate(O, 0);
- A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === void 0 ? 1 : toIntegerOrInfinity(depthArg));
- return A;
- }
- });
- }
-});
-
-// dist/_cli.js.cjs.js
-require_es_object_from_entries();
-require_es_array_flat_map();
-require_es_array_flat();
-var __create = Object.create;
-var __defProp = Object.defineProperty;
-var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames2 = Object.getOwnPropertyNames;
-var __getProtoOf = Object.getPrototypeOf;
-var __hasOwnProp = Object.prototype.hasOwnProperty;
-var __esm = (fn, res) => function __init() {
- return fn && (res = (0, fn[__getOwnPropNames2(fn)[0]])(fn = 0)), res;
-};
-var __commonJS2 = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = {
- exports: {}
- }).exports, mod), mod.exports;
-};
-var __export = (target, all) => {
- for (var name in all)
- __defProp(target, name, {
- get: all[name],
- enumerable: true
- });
-};
-var __copyProps = (to, from, except, desc) => {
- if (from && typeof from === "object" || typeof from === "function") {
- for (let key of __getOwnPropNames2(from))
- if (!__hasOwnProp.call(to, key) && key !== except)
- __defProp(to, key, {
- get: () => from[key],
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
- });
- }
- return to;
-};
-var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
- value: mod,
- enumerable: true
-}) : target, mod));
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", {
- value: true
-}), mod);
-var require_fast_json_stable_stringify = __commonJS2({
- "node_modules/fast-json-stable-stringify/index.js"(exports2, module2) {
- "use strict";
- module2.exports = function(data, opts) {
- if (!opts)
- opts = {};
- if (typeof opts === "function")
- opts = {
- cmp: opts
- };
- var cycles = typeof opts.cycles === "boolean" ? opts.cycles : false;
- var cmp = opts.cmp && function(f) {
- return function(node) {
- return function(a, b) {
- var aobj = {
- key: a,
- value: node[a]
- };
- var bobj = {
- key: b,
- value: node[b]
- };
- return f(aobj, bobj);
- };
- };
- }(opts.cmp);
- var seen = [];
- return function stringify2(node) {
- if (node && node.toJSON && typeof node.toJSON === "function") {
- node = node.toJSON();
- }
- if (node === void 0)
- return;
- if (typeof node == "number")
- return isFinite(node) ? "" + node : "null";
- if (typeof node !== "object")
- return JSON.stringify(node);
- var i, out;
- if (Array.isArray(node)) {
- out = "[";
- for (i = 0; i < node.length; i++) {
- if (i)
- out += ",";
- out += stringify2(node[i]) || "null";
- }
- return out + "]";
- }
- if (node === null)
- return "null";
- if (seen.indexOf(node) !== -1) {
- if (cycles)
- return JSON.stringify("__cycle__");
- throw new TypeError("Converting circular structure to JSON");
- }
- var seenIndex = seen.push(node) - 1;
- var keys = Object.keys(node).sort(cmp && cmp(node));
- out = "";
- for (i = 0; i < keys.length; i++) {
- var key = keys[i];
- var value = stringify2(node[key]);
- if (!value)
- continue;
- if (out)
- out += ",";
- out += JSON.stringify(key) + ":" + value;
- }
- seen.splice(seenIndex, 1);
- return "{" + out + "}";
- }(data);
- };
- }
-});
-var require_clone = __commonJS2({
- "node_modules/clone/clone.js"(exports2, module2) {
- var clone = function() {
- "use strict";
- function clone2(parent, circular, depth, prototype) {
- var filter;
- if (typeof circular === "object") {
- depth = circular.depth;
- prototype = circular.prototype;
- filter = circular.filter;
- circular = circular.circular;
- }
- var allParents = [];
- var allChildren = [];
- var useBuffer = typeof Buffer != "undefined";
- if (typeof circular == "undefined")
- circular = true;
- if (typeof depth == "undefined")
- depth = Infinity;
- function _clone(parent2, depth2) {
- if (parent2 === null)
- return null;
- if (depth2 == 0)
- return parent2;
- var child;
- var proto2;
- if (typeof parent2 != "object") {
- return parent2;
- }
- if (clone2.__isArray(parent2)) {
- child = [];
- } else if (clone2.__isRegExp(parent2)) {
- child = new RegExp(parent2.source, __getRegExpFlags(parent2));
- if (parent2.lastIndex)
- child.lastIndex = parent2.lastIndex;
- } else if (clone2.__isDate(parent2)) {
- child = new Date(parent2.getTime());
- } else if (useBuffer && Buffer.isBuffer(parent2)) {
- if (Buffer.allocUnsafe) {
- child = Buffer.allocUnsafe(parent2.length);
- } else {
- child = new Buffer(parent2.length);
- }
- parent2.copy(child);
- return child;
- } else {
- if (typeof prototype == "undefined") {
- proto2 = Object.getPrototypeOf(parent2);
- child = Object.create(proto2);
- } else {
- child = Object.create(prototype);
- proto2 = prototype;
- }
- }
- if (circular) {
- var index = allParents.indexOf(parent2);
- if (index != -1) {
- return allChildren[index];
- }
- allParents.push(parent2);
- allChildren.push(child);
- }
- for (var i in parent2) {
- var attrs;
- if (proto2) {
- attrs = Object.getOwnPropertyDescriptor(proto2, i);
- }
- if (attrs && attrs.set == null) {
- continue;
- }
- child[i] = _clone(parent2[i], depth2 - 1);
- }
- return child;
- }
- return _clone(parent, depth);
- }
- clone2.clonePrototype = function clonePrototype(parent) {
- if (parent === null)
- return null;
- var c = function() {
- };
- c.prototype = parent;
- return new c();
- };
- function __objToStr(o) {
- return Object.prototype.toString.call(o);
- }
- ;
- clone2.__objToStr = __objToStr;
- function __isDate(o) {
- return typeof o === "object" && __objToStr(o) === "[object Date]";
- }
- ;
- clone2.__isDate = __isDate;
- function __isArray(o) {
- return typeof o === "object" && __objToStr(o) === "[object Array]";
- }
- ;
- clone2.__isArray = __isArray;
- function __isRegExp(o) {
- return typeof o === "object" && __objToStr(o) === "[object RegExp]";
- }
- ;
- clone2.__isRegExp = __isRegExp;
- function __getRegExpFlags(re) {
- var flags = "";
- if (re.global)
- flags += "g";
- if (re.ignoreCase)
- flags += "i";
- if (re.multiline)
- flags += "m";
- return flags;
- }
- ;
- clone2.__getRegExpFlags = __getRegExpFlags;
- return clone2;
- }();
- if (typeof module2 === "object" && module2.exports) {
- module2.exports = clone;
- }
- }
-});
-var require_defaults = __commonJS2({
- "node_modules/defaults/index.js"(exports2, module2) {
- var clone = require_clone();
- module2.exports = function(options, defaults) {
- options = options || {};
- Object.keys(defaults).forEach(function(key) {
- if (typeof options[key] === "undefined") {
- options[key] = clone(defaults[key]);
- }
- });
- return options;
- };
- }
-});
-var require_combining = __commonJS2({
- "node_modules/wcwidth/combining.js"(exports2, module2) {
- module2.exports = [[768, 879], [1155, 1158], [1160, 1161], [1425, 1469], [1471, 1471], [1473, 1474], [1476, 1477], [1479, 1479], [1536, 1539], [1552, 1557], [1611, 1630], [1648, 1648], [1750, 1764], [1767, 1768], [1770, 1773], [1807, 1807], [1809, 1809], [1840, 1866], [1958, 1968], [2027, 2035], [2305, 2306], [2364, 2364], [2369, 2376], [2381, 2381], [2385, 2388], [2402, 2403], [2433, 2433], [2492, 2492], [2497, 2500], [2509, 2509], [2530, 2531], [2561, 2562], [2620, 2620], [2625, 2626], [2631, 2632], [2635, 2637], [2672, 2673], [2689, 2690], [2748, 2748], [2753, 2757], [2759, 2760], [2765, 2765], [2786, 2787], [2817, 2817], [2876, 2876], [2879, 2879], [2881, 2883], [2893, 2893], [2902, 2902], [2946, 2946], [3008, 3008], [3021, 3021], [3134, 3136], [3142, 3144], [3146, 3149], [3157, 3158], [3260, 3260], [3263, 3263], [3270, 3270], [3276, 3277], [3298, 3299], [3393, 3395], [3405, 3405], [3530, 3530], [3538, 3540], [3542, 3542], [3633, 3633], [3636, 3642], [3655, 3662], [3761, 3761], [3764, 3769], [3771, 3772], [3784, 3789], [3864, 3865], [3893, 3893], [3895, 3895], [3897, 3897], [3953, 3966], [3968, 3972], [3974, 3975], [3984, 3991], [3993, 4028], [4038, 4038], [4141, 4144], [4146, 4146], [4150, 4151], [4153, 4153], [4184, 4185], [4448, 4607], [4959, 4959], [5906, 5908], [5938, 5940], [5970, 5971], [6002, 6003], [6068, 6069], [6071, 6077], [6086, 6086], [6089, 6099], [6109, 6109], [6155, 6157], [6313, 6313], [6432, 6434], [6439, 6440], [6450, 6450], [6457, 6459], [6679, 6680], [6912, 6915], [6964, 6964], [6966, 6970], [6972, 6972], [6978, 6978], [7019, 7027], [7616, 7626], [7678, 7679], [8203, 8207], [8234, 8238], [8288, 8291], [8298, 8303], [8400, 8431], [12330, 12335], [12441, 12442], [43014, 43014], [43019, 43019], [43045, 43046], [64286, 64286], [65024, 65039], [65056, 65059], [65279, 65279], [65529, 65531], [68097, 68099], [68101, 68102], [68108, 68111], [68152, 68154], [68159, 68159], [119143, 119145], [119155, 119170], [119173, 119179], [119210, 119213], [119362, 119364], [917505, 917505], [917536, 917631], [917760, 917999]];
- }
-});
-var require_wcwidth = __commonJS2({
- "node_modules/wcwidth/index.js"(exports2, module2) {
- "use strict";
- var defaults = require_defaults();
- var combining = require_combining();
- var DEFAULTS = {
- nul: 0,
- control: 0
- };
- module2.exports = function wcwidth2(str) {
- return wcswidth(str, DEFAULTS);
- };
- module2.exports.config = function(opts) {
- opts = defaults(opts || {}, DEFAULTS);
- return function wcwidth2(str) {
- return wcswidth(str, opts);
- };
- };
- function wcswidth(str, opts) {
- if (typeof str !== "string")
- return wcwidth(str, opts);
- var s = 0;
- for (var i = 0; i < str.length; i++) {
- var n = wcwidth(str.charCodeAt(i), opts);
- if (n < 0)
- return -1;
- s += n;
- }
- return s;
- }
- function wcwidth(ucs, opts) {
- if (ucs === 0)
- return opts.nul;
- if (ucs < 32 || ucs >= 127 && ucs < 160)
- return opts.control;
- if (bisearch(ucs))
- return 0;
- return 1 + (ucs >= 4352 && (ucs <= 4447 || ucs == 9001 || ucs == 9002 || ucs >= 11904 && ucs <= 42191 && ucs != 12351 || ucs >= 44032 && ucs <= 55203 || ucs >= 63744 && ucs <= 64255 || ucs >= 65040 && ucs <= 65049 || ucs >= 65072 && ucs <= 65135 || ucs >= 65280 && ucs <= 65376 || ucs >= 65504 && ucs <= 65510 || ucs >= 131072 && ucs <= 196605 || ucs >= 196608 && ucs <= 262141));
- }
- function bisearch(ucs) {
- var min = 0;
- var max = combining.length - 1;
- var mid;
- if (ucs < combining[0][0] || ucs > combining[max][1])
- return false;
- while (max >= min) {
- mid = Math.floor((min + max) / 2);
- if (ucs > combining[mid][1])
- min = mid + 1;
- else if (ucs < combining[mid][0])
- max = mid - 1;
- else
- return true;
- }
- return false;
- }
- }
-});
-function ansiRegex({
- onlyFirst = false
-} = {}) {
- const pattern = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");
- return new RegExp(pattern, onlyFirst ? void 0 : "g");
-}
-var init_ansi_regex = __esm({
- "node_modules/strip-ansi/node_modules/ansi-regex/index.js"() {
- }
-});
-var strip_ansi_exports = {};
-__export(strip_ansi_exports, {
- default: () => stripAnsi
-});
-function stripAnsi(string) {
- if (typeof string !== "string") {
- throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
- }
- return string.replace(ansiRegex(), "");
-}
-var init_strip_ansi = __esm({
- "node_modules/strip-ansi/index.js"() {
- init_ansi_regex();
- }
-});
-function assembleStyles() {
- const codes = /* @__PURE__ */ new Map();
- const styles2 = {
- modifier: {
- reset: [0, 0],
- bold: [1, 22],
- dim: [2, 22],
- italic: [3, 23],
- underline: [4, 24],
- overline: [53, 55],
- inverse: [7, 27],
- hidden: [8, 28],
- strikethrough: [9, 29]
- },
- color: {
- black: [30, 39],
- red: [31, 39],
- green: [32, 39],
- yellow: [33, 39],
- blue: [34, 39],
- magenta: [35, 39],
- cyan: [36, 39],
- white: [37, 39],
- blackBright: [90, 39],
- redBright: [91, 39],
- greenBright: [92, 39],
- yellowBright: [93, 39],
- blueBright: [94, 39],
- magentaBright: [95, 39],
- cyanBright: [96, 39],
- whiteBright: [97, 39]
- },
- bgColor: {
- bgBlack: [40, 49],
- bgRed: [41, 49],
- bgGreen: [42, 49],
- bgYellow: [43, 49],
- bgBlue: [44, 49],
- bgMagenta: [45, 49],
- bgCyan: [46, 49],
- bgWhite: [47, 49],
- bgBlackBright: [100, 49],
- bgRedBright: [101, 49],
- bgGreenBright: [102, 49],
- bgYellowBright: [103, 49],
- bgBlueBright: [104, 49],
- bgMagentaBright: [105, 49],
- bgCyanBright: [106, 49],
- bgWhiteBright: [107, 49]
- }
- };
- styles2.color.gray = styles2.color.blackBright;
- styles2.bgColor.bgGray = styles2.bgColor.bgBlackBright;
- styles2.color.grey = styles2.color.blackBright;
- styles2.bgColor.bgGrey = styles2.bgColor.bgBlackBright;
- for (const [groupName, group] of Object.entries(styles2)) {
- for (const [styleName, style] of Object.entries(group)) {
- styles2[styleName] = {
- open: `\x1B[${style[0]}m`,
- close: `\x1B[${style[1]}m`
- };
- group[styleName] = styles2[styleName];
- codes.set(style[0], style[1]);
- }
- Object.defineProperty(styles2, groupName, {
- value: group,
- enumerable: false
- });
- }
- Object.defineProperty(styles2, "codes", {
- value: codes,
- enumerable: false
- });
- styles2.color.close = "\x1B[39m";
- styles2.bgColor.close = "\x1B[49m";
- styles2.color.ansi = wrapAnsi16();
- styles2.color.ansi256 = wrapAnsi256();
- styles2.color.ansi16m = wrapAnsi16m();
- styles2.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
- styles2.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
- styles2.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
- Object.defineProperties(styles2, {
- rgbToAnsi256: {
- value: (red, green, blue) => {
- if (red === green && green === blue) {
- if (red < 8) {
- return 16;
- }
- if (red > 248) {
- return 231;
- }
- return Math.round((red - 8) / 247 * 24) + 232;
- }
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
- },
- enumerable: false
- },
- hexToRgb: {
- value: (hex) => {
- const matches = /(?[a-f\d]{6}|[a-f\d]{3})/i.exec(hex.toString(16));
- if (!matches) {
- return [0, 0, 0];
- }
- let {
- colorString
- } = matches.groups;
- if (colorString.length === 3) {
- colorString = [...colorString].map((character) => character + character).join("");
- }
- const integer = Number.parseInt(colorString, 16);
- return [integer >> 16 & 255, integer >> 8 & 255, integer & 255];
- },
- enumerable: false
- },
- hexToAnsi256: {
- value: (hex) => styles2.rgbToAnsi256(...styles2.hexToRgb(hex)),
- enumerable: false
- },
- ansi256ToAnsi: {
- value: (code) => {
- if (code < 8) {
- return 30 + code;
- }
- if (code < 16) {
- return 90 + (code - 8);
- }
- let red;
- let green;
- let blue;
- if (code >= 232) {
- red = ((code - 232) * 10 + 8) / 255;
- green = red;
- blue = red;
- } else {
- code -= 16;
- const remainder = code % 36;
- red = Math.floor(code / 36) / 5;
- green = Math.floor(remainder / 6) / 5;
- blue = remainder % 6 / 5;
- }
- const value = Math.max(red, green, blue) * 2;
- if (value === 0) {
- return 30;
- }
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
- if (value === 2) {
- result += 60;
- }
- return result;
- },
- enumerable: false
- },
- rgbToAnsi: {
- value: (red, green, blue) => styles2.ansi256ToAnsi(styles2.rgbToAnsi256(red, green, blue)),
- enumerable: false
- },
- hexToAnsi: {
- value: (hex) => styles2.ansi256ToAnsi(styles2.hexToAnsi256(hex)),
- enumerable: false
- }
- });
- return styles2;
-}
-var ANSI_BACKGROUND_OFFSET;
-var wrapAnsi16;
-var wrapAnsi256;
-var wrapAnsi16m;
-var ansiStyles;
-var ansi_styles_default;
-var init_ansi_styles = __esm({
- "node_modules/chalk/source/vendor/ansi-styles/index.js"() {
- ANSI_BACKGROUND_OFFSET = 10;
- wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
- wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
- wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
- ansiStyles = assembleStyles();
- ansi_styles_default = ansiStyles;
- }
-});
-function hasFlag(flag, argv = import_node_process.default.argv) {
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
- const position = argv.indexOf(prefix + flag);
- const terminatorPosition = argv.indexOf("--");
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
-}
-function envForceColor() {
- if ("FORCE_COLOR" in env) {
- if (env.FORCE_COLOR === "true") {
- return 1;
- }
- if (env.FORCE_COLOR === "false") {
- return 0;
- }
- return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
- }
-}
-function translateLevel(level) {
- if (level === 0) {
- return false;
- }
- return {
- level,
- hasBasic: true,
- has256: level >= 2,
- has16m: level >= 3
- };
-}
-function _supportsColor(haveStream, {
- streamIsTTY,
- sniffFlags = true
-} = {}) {
- const noFlagForceColor = envForceColor();
- if (noFlagForceColor !== void 0) {
- flagForceColor = noFlagForceColor;
- }
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
- if (forceColor === 0) {
- return 0;
- }
- if (sniffFlags) {
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
- return 3;
- }
- if (hasFlag("color=256")) {
- return 2;
- }
- }
- if (haveStream && !streamIsTTY && forceColor === void 0) {
- return 0;
- }
- const min = forceColor || 0;
- if (env.TERM === "dumb") {
- return min;
- }
- if (import_node_process.default.platform === "win32") {
- const osRelease = import_node_os.default.release().split(".");
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
- }
- return 1;
- }
- if ("CI" in env) {
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
- return 1;
- }
- return min;
- }
- if ("TEAMCITY_VERSION" in env) {
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
- }
- if ("TF_BUILD" in env && "AGENT_NAME" in env) {
- return 1;
- }
- if (env.COLORTERM === "truecolor") {
- return 3;
- }
- if ("TERM_PROGRAM" in env) {
- const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
- switch (env.TERM_PROGRAM) {
- case "iTerm.app":
- return version >= 3 ? 3 : 2;
- case "Apple_Terminal":
- return 2;
- }
- }
- if (/-256(color)?$/i.test(env.TERM)) {
- return 2;
- }
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
- return 1;
- }
- if ("COLORTERM" in env) {
- return 1;
- }
- return min;
-}
-function createSupportsColor(stream, options = {}) {
- const level = _supportsColor(stream, Object.assign({
- streamIsTTY: stream && stream.isTTY
- }, options));
- return translateLevel(level);
-}
-var import_node_process;
-var import_node_os;
-var import_node_tty;
-var env;
-var flagForceColor;
-var supportsColor;
-var supports_color_default;
-var init_supports_color = __esm({
- "node_modules/chalk/source/vendor/supports-color/index.js"() {
- import_node_process = __toESM(require("process"), 1);
- import_node_os = __toESM(require("os"), 1);
- import_node_tty = __toESM(require("tty"), 1);
- ({
- env
- } = import_node_process.default);
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
- flagForceColor = 0;
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
- flagForceColor = 1;
- }
- supportsColor = {
- stdout: createSupportsColor({
- isTTY: import_node_tty.default.isatty(1)
- }),
- stderr: createSupportsColor({
- isTTY: import_node_tty.default.isatty(2)
- })
- };
- supports_color_default = supportsColor;
- }
-});
-function stringReplaceAll(string, substring, replacer) {
- let index = string.indexOf(substring);
- if (index === -1) {
- return string;
- }
- const substringLength = substring.length;
- let endIndex = 0;
- let returnValue = "";
- do {
- returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
- endIndex = index + substringLength;
- index = string.indexOf(substring, endIndex);
- } while (index !== -1);
- returnValue += string.slice(endIndex);
- return returnValue;
-}
-function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
- let endIndex = 0;
- let returnValue = "";
- do {
- const gotCR = string[index - 1] === "\r";
- returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
- endIndex = index + 1;
- index = string.indexOf("\n", endIndex);
- } while (index !== -1);
- returnValue += string.slice(endIndex);
- return returnValue;
-}
-var init_utilities = __esm({
- "node_modules/chalk/source/utilities.js"() {
- }
-});
-var source_exports = {};
-__export(source_exports, {
- Chalk: () => Chalk,
- chalkStderr: () => chalkStderr,
- default: () => source_default,
- supportsColor: () => stdoutColor,
- supportsColorStderr: () => stderrColor
-});
-function createChalk(options) {
- return chalkFactory(options);
-}
-var stdoutColor;
-var stderrColor;
-var GENERATOR;
-var STYLER;
-var IS_EMPTY;
-var levelMapping;
-var styles;
-var applyOptions;
-var Chalk;
-var chalkFactory;
-var getModelAnsi;
-var usedModels;
-var proto;
-var createStyler;
-var createBuilder;
-var applyStyle;
-var chalk;
-var chalkStderr;
-var source_default;
-var init_source = __esm({
- "node_modules/chalk/source/index.js"() {
- init_ansi_styles();
- init_supports_color();
- init_utilities();
- ({
- stdout: stdoutColor,
- stderr: stderrColor
- } = supports_color_default);
- GENERATOR = Symbol("GENERATOR");
- STYLER = Symbol("STYLER");
- IS_EMPTY = Symbol("IS_EMPTY");
- levelMapping = ["ansi", "ansi", "ansi256", "ansi16m"];
- styles = /* @__PURE__ */ Object.create(null);
- applyOptions = (object, options = {}) => {
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
- throw new Error("The `level` option should be an integer from 0 to 3");
- }
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
- object.level = options.level === void 0 ? colorLevel : options.level;
- };
- Chalk = class {
- constructor(options) {
- return chalkFactory(options);
- }
- };
- chalkFactory = (options) => {
- const chalk2 = (...strings) => strings.join(" ");
- applyOptions(chalk2, options);
- Object.setPrototypeOf(chalk2, createChalk.prototype);
- return chalk2;
- };
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
- for (const [styleName, style] of Object.entries(ansi_styles_default)) {
- styles[styleName] = {
- get() {
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
- Object.defineProperty(this, styleName, {
- value: builder
- });
- return builder;
- }
- };
- }
- styles.visible = {
- get() {
- const builder = createBuilder(this, this[STYLER], true);
- Object.defineProperty(this, "visible", {
- value: builder
- });
- return builder;
- }
- };
- getModelAnsi = (model, level, type, ...arguments_) => {
- if (model === "rgb") {
- if (level === "ansi16m") {
- return ansi_styles_default[type].ansi16m(...arguments_);
- }
- if (level === "ansi256") {
- return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
- }
- return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
- }
- if (model === "hex") {
- return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
- }
- return ansi_styles_default[type][model](...arguments_);
- };
- usedModels = ["rgb", "hex", "ansi256"];
- for (const model of usedModels) {
- styles[model] = {
- get() {
- const {
- level
- } = this;
- return function(...arguments_) {
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
- return createBuilder(this, styler, this[IS_EMPTY]);
- };
- }
- };
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
- styles[bgModel] = {
- get() {
- const {
- level
- } = this;
- return function(...arguments_) {
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
- return createBuilder(this, styler, this[IS_EMPTY]);
- };
- }
- };
- }
- proto = Object.defineProperties(() => {
- }, Object.assign(Object.assign({}, styles), {}, {
- level: {
- enumerable: true,
- get() {
- return this[GENERATOR].level;
- },
- set(level) {
- this[GENERATOR].level = level;
- }
- }
- }));
- createStyler = (open, close, parent) => {
- let openAll;
- let closeAll;
- if (parent === void 0) {
- openAll = open;
- closeAll = close;
- } else {
- openAll = parent.openAll + open;
- closeAll = close + parent.closeAll;
- }
- return {
- open,
- close,
- openAll,
- closeAll,
- parent
- };
- };
- createBuilder = (self2, _styler, _isEmpty) => {
- const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
- Object.setPrototypeOf(builder, proto);
- builder[GENERATOR] = self2;
- builder[STYLER] = _styler;
- builder[IS_EMPTY] = _isEmpty;
- return builder;
- };
- applyStyle = (self2, string) => {
- if (self2.level <= 0 || !string) {
- return self2[IS_EMPTY] ? "" : string;
- }
- let styler = self2[STYLER];
- if (styler === void 0) {
- return string;
- }
- const {
- openAll,
- closeAll
- } = styler;
- if (string.includes("\x1B")) {
- while (styler !== void 0) {
- string = stringReplaceAll(string, styler.close, styler.open);
- styler = styler.parent;
- }
- }
- const lfIndex = string.indexOf("\n");
- if (lfIndex !== -1) {
- string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
- }
- return openAll + string + closeAll;
- };
- Object.defineProperties(createChalk.prototype, styles);
- chalk = createChalk();
- chalkStderr = createChalk({
- level: stderrColor ? stderrColor.level : 0
- });
- source_default = chalk;
- }
-});
-var require_logger = __commonJS2({
- "src/cli/logger.js"(exports2, module2) {
- "use strict";
- var readline = require("readline");
- var wcwidth = require_wcwidth();
- var {
- default: stripAnsi2
- } = (init_strip_ansi(), __toCommonJS(strip_ansi_exports));
- var {
- default: chalk2
- } = (init_source(), __toCommonJS(source_exports));
- var countLines = (stream, text) => {
- const columns = stream.columns || 80;
- let lineCount = 0;
- for (const line of stripAnsi2(text).split("\n")) {
- lineCount += Math.max(1, Math.ceil(wcwidth(line) / columns));
- }
- return lineCount;
- };
- var clear = (stream, text) => () => {
- const lineCount = countLines(stream, text);
- for (let line = 0; line < lineCount; line++) {
- if (line > 0) {
- readline.moveCursor(stream, 0, -1);
- }
- readline.clearLine(stream, 0);
- readline.cursorTo(stream, 0);
- }
- };
- var emptyLogResult = {
- clear() {
- }
- };
- function createLogger2(logLevel = "log") {
- return {
- logLevel,
- warn: createLogFunc("warn", "yellow"),
- error: createLogFunc("error", "red"),
- debug: createLogFunc("debug", "blue"),
- log: createLogFunc("log")
- };
- function createLogFunc(loggerName, color) {
- if (!shouldLog(loggerName)) {
- return () => emptyLogResult;
- }
- const prefix = color ? `[${chalk2[color](loggerName)}] ` : "";
- const stream = process[loggerName === "log" ? "stdout" : "stderr"];
- return (message, options) => {
- options = Object.assign({
- newline: true,
- clearable: false
- }, options);
- message = message.replace(/^/gm, prefix) + (options.newline ? "\n" : "");
- stream.write(message);
- if (options.clearable) {
- return {
- clear: clear(stream, message)
- };
- }
- };
- }
- function shouldLog(loggerName) {
- switch (logLevel) {
- case "silent":
- return false;
- case "debug":
- if (loggerName === "debug") {
- return true;
- }
- case "log":
- if (loggerName === "log") {
- return true;
- }
- case "warn":
- if (loggerName === "warn") {
- return true;
- }
- case "error":
- return loggerName === "error";
- }
- }
- }
- module2.exports = createLogger2;
- }
-});
-var require_prettier_internal = __commonJS2({
- "src/cli/prettier-internal.js"(exports2, module2) {
- "use strict";
- module2.exports = require("./index.js").__internal;
- }
-});
-var require_lib = __commonJS2({
- "node_modules/outdent/lib/index.js"(exports2, module2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.outdent = void 0;
- function noop() {
- var args = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- args[_i] = arguments[_i];
- }
- }
- function createWeakMap() {
- if (typeof WeakMap !== "undefined") {
- return /* @__PURE__ */ new WeakMap();
- } else {
- return fakeSetOrMap();
- }
- }
- function fakeSetOrMap() {
- return {
- add: noop,
- delete: noop,
- get: noop,
- set: noop,
- has: function(k) {
- return false;
- }
- };
- }
- var hop = Object.prototype.hasOwnProperty;
- var has = function(obj, prop) {
- return hop.call(obj, prop);
- };
- function extend(target, source) {
- for (var prop in source) {
- if (has(source, prop)) {
- target[prop] = source[prop];
- }
- }
- return target;
- }
- var reLeadingNewline = /^[ \t]*(?:\r\n|\r|\n)/;
- var reTrailingNewline = /(?:\r\n|\r|\n)[ \t]*$/;
- var reStartsWithNewlineOrIsEmpty = /^(?:[\r\n]|$)/;
- var reDetectIndentation = /(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/;
- var reOnlyWhitespaceWithAtLeastOneNewline = /^[ \t]*[\r\n][ \t\r\n]*$/;
- function _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) {
- var indentationLevel = 0;
- var match = strings[0].match(reDetectIndentation);
- if (match) {
- indentationLevel = match[1].length;
- }
- var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}";
- var reMatchIndent = new RegExp(reSource, "g");
- if (firstInterpolatedValueSetsIndentationLevel) {
- strings = strings.slice(1);
- }
- var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, trimTrailingNewline = options.trimTrailingNewline;
- var normalizeNewlines = typeof newline === "string";
- var l = strings.length;
- var outdentedStrings = strings.map(function(v, i) {
- v = v.replace(reMatchIndent, "$1");
- if (i === 0 && trimLeadingNewline) {
- v = v.replace(reLeadingNewline, "");
- }
- if (i === l - 1 && trimTrailingNewline) {
- v = v.replace(reTrailingNewline, "");
- }
- if (normalizeNewlines) {
- v = v.replace(/\r\n|\n|\r/g, function(_) {
- return newline;
- });
- }
- return v;
- });
- return outdentedStrings;
- }
- function concatStringsAndValues(strings, values) {
- var ret = "";
- for (var i = 0, l = strings.length; i < l; i++) {
- ret += strings[i];
- if (i < l - 1) {
- ret += values[i];
- }
- }
- return ret;
- }
- function isTemplateStringsArray(v) {
- return has(v, "raw") && has(v, "length");
- }
- function createInstance(options) {
- var arrayAutoIndentCache = createWeakMap();
- var arrayFirstInterpSetsIndentCache = createWeakMap();
- function outdent(stringsOrOptions) {
- var values = [];
- for (var _i = 1; _i < arguments.length; _i++) {
- values[_i - 1] = arguments[_i];
- }
- if (isTemplateStringsArray(stringsOrOptions)) {
- var strings = stringsOrOptions;
- var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]);
- var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache;
- var renderedArray = cache.get(strings);
- if (!renderedArray) {
- renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);
- cache.set(strings, renderedArray);
- }
- if (values.length === 0) {
- return renderedArray[0];
- }
- var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values);
- return rendered;
- } else {
- return createInstance(extend(extend({}, options), stringsOrOptions || {}));
- }
- }
- var fullOutdent = extend(outdent, {
- string: function(str) {
- return _outdentArray([str], false, options)[0];
- }
- });
- return fullOutdent;
- }
- var defaultOutdent = createInstance({
- trimLeadingNewline: true,
- trimTrailingNewline: true
- });
- exports2.outdent = defaultOutdent;
- exports2.default = defaultOutdent;
- if (typeof module2 !== "undefined") {
- try {
- module2.exports = defaultOutdent;
- Object.defineProperty(defaultOutdent, "__esModule", {
- value: true
- });
- defaultOutdent.default = defaultOutdent;
- defaultOutdent.outdent = defaultOutdent;
- } catch (e) {
- }
- }
- }
-});
-var require_constant = __commonJS2({
- "src/cli/constant.js"(exports2, module2) {
- "use strict";
- var {
- outdent
- } = require_lib();
- var {
- coreOptions
- } = require_prettier_internal();
- var categoryOrder = [coreOptions.CATEGORY_OUTPUT, coreOptions.CATEGORY_FORMAT, coreOptions.CATEGORY_CONFIG, coreOptions.CATEGORY_EDITOR, coreOptions.CATEGORY_OTHER];
- var options = {
- cache: {
- default: false,
- description: "Only format changed files. Cannot use with --stdin-filepath.",
- type: "boolean"
- },
- "cache-strategy": {
- choices: [{
- description: "Use the file metadata such as timestamps as cache keys",
- value: "metadata"
- }, {
- description: "Use the file content as cache keys",
- value: "content"
- }],
- description: "Strategy for the cache to use for detecting changed files.",
- type: "choice"
- },
- check: {
- alias: "c",
- category: coreOptions.CATEGORY_OUTPUT,
- description: outdent`
- Check if the given files are formatted, print a human-friendly summary
- message and paths to unformatted files (see also --list-different).
- `,
- type: "boolean"
- },
- color: {
- default: true,
- description: "Colorize error messages.",
- oppositeDescription: "Do not colorize error messages.",
- type: "boolean"
- },
- config: {
- category: coreOptions.CATEGORY_CONFIG,
- description: "Path to a Prettier configuration file (.prettierrc, package.json, prettier.config.js).",
- exception: (value) => value === false,
- oppositeDescription: "Do not look for a configuration file.",
- type: "path"
- },
- "config-precedence": {
- category: coreOptions.CATEGORY_CONFIG,
- choices: [{
- description: "CLI options take precedence over config file",
- value: "cli-override"
- }, {
- description: "Config file take precedence over CLI options",
- value: "file-override"
- }, {
- description: outdent`
- If a config file is found will evaluate it and ignore other CLI options.
- If no config file is found CLI options will evaluate as normal.
- `,
- value: "prefer-file"
- }],
- default: "cli-override",
- description: "Define in which order config files and CLI options should be evaluated.",
- type: "choice"
- },
- "debug-benchmark": {
- type: "boolean"
- },
- "debug-check": {
- type: "boolean"
- },
- "debug-print-ast": {
- type: "boolean"
- },
- "debug-print-comments": {
- type: "boolean"
- },
- "debug-print-doc": {
- type: "boolean"
- },
- "debug-repeat": {
- default: 0,
- type: "int"
- },
- editorconfig: {
- category: coreOptions.CATEGORY_CONFIG,
- default: true,
- description: "Take .editorconfig into account when parsing configuration.",
- oppositeDescription: "Don't take .editorconfig into account when parsing configuration.",
- type: "boolean"
- },
- "error-on-unmatched-pattern": {
- oppositeDescription: "Prevent errors when pattern is unmatched.",
- type: "boolean"
- },
- "file-info": {
- description: outdent`
- Extract the following info (as JSON) for a given file path. Reported fields:
- * ignored (boolean) - true if file path is filtered by --ignore-path
- * inferredParser (string | null) - name of parser inferred from file path
- `,
- type: "path"
- },
- "find-config-path": {
- category: coreOptions.CATEGORY_CONFIG,
- description: "Find and print the path to a configuration file for the given input file.",
- type: "path"
- },
- help: {
- alias: "h",
- description: outdent`
- Show CLI usage, or details about the given flag.
- Example: --help write
- `,
- exception: (value) => value === "",
- type: "flag"
- },
- "ignore-path": {
- category: coreOptions.CATEGORY_CONFIG,
- default: ".prettierignore",
- description: "Path to a file with patterns describing files to ignore.",
- type: "path"
- },
- "ignore-unknown": {
- alias: "u",
- description: "Ignore unknown files.",
- type: "boolean"
- },
- "list-different": {
- alias: "l",
- category: coreOptions.CATEGORY_OUTPUT,
- description: "Print the names of files that are different from Prettier's formatting (see also --check).",
- type: "boolean"
- },
- loglevel: {
- choices: ["silent", "error", "warn", "log", "debug"],
- default: "log",
- description: "What level of logs to report.",
- type: "choice"
- },
- "plugin-search": {
- oppositeDescription: "Disable plugin autoloading.",
- type: "boolean"
- },
- "support-info": {
- description: "Print support information as JSON.",
- type: "boolean"
- },
- version: {
- alias: "v",
- description: "Print Prettier version.",
- type: "boolean"
- },
- "with-node-modules": {
- category: coreOptions.CATEGORY_CONFIG,
- description: "Process files inside 'node_modules' directory.",
- type: "boolean"
- },
- write: {
- alias: "w",
- category: coreOptions.CATEGORY_OUTPUT,
- description: "Edit files in-place. (Beware!)",
- type: "boolean"
- }
- };
- var usageSummary = outdent`
- Usage: prettier [options] [file/dir/glob ...]
-
- By default, output is written to stdout.
- Stdin is read if it is piped to Prettier and no files are given.
-`;
- module2.exports = {
- categoryOrder,
- options,
- usageSummary
- };
- }
-});
-var require_dashify = __commonJS2({
- "node_modules/dashify/index.js"(exports2, module2) {
- "use strict";
- module2.exports = (str, options) => {
- if (typeof str !== "string")
- throw new TypeError("expected a string");
- return str.trim().replace(/([a-z])([A-Z])/g, "$1-$2").replace(/\W/g, (m) => /[À-ž]/.test(m) ? m : "-").replace(/^-+|-+$/g, "").replace(/-{2,}/g, (m) => options && options.condense ? "-" : m).toLowerCase();
- };
- }
-});
-var require_option_map = __commonJS2({
- "src/cli/options/option-map.js"(exports2, module2) {
- "use strict";
- var dashify = require_dashify();
- var {
- coreOptions
- } = require_prettier_internal();
- function normalizeDetailedOption(name, option) {
- return Object.assign(Object.assign({
- category: coreOptions.CATEGORY_OTHER
- }, option), {}, {
- choices: option.choices && option.choices.map((choice) => {
- const newChoice = Object.assign({
- description: "",
- deprecated: false
- }, typeof choice === "object" ? choice : {
- value: choice
- });
- if (newChoice.value === true) {
- newChoice.value = "";
- }
- return newChoice;
- })
- });
- }
- function normalizeDetailedOptionMap(detailedOptionMap) {
- return Object.fromEntries(Object.entries(detailedOptionMap).sort(([leftName], [rightName]) => leftName.localeCompare(rightName)).map(([name, option]) => [name, normalizeDetailedOption(name, option)]));
- }
- function createDetailedOptionMap(supportOptions) {
- return Object.fromEntries(supportOptions.map((option) => {
- const newOption = Object.assign(Object.assign({}, option), {}, {
- name: option.cliName || dashify(option.name),
- description: option.cliDescription || option.description,
- category: option.cliCategory || coreOptions.CATEGORY_FORMAT,
- forwardToApi: option.name
- });
- if (option.deprecated) {
- delete newOption.forwardToApi;
- delete newOption.description;
- delete newOption.oppositeDescription;
- newOption.deprecated = true;
- }
- return [newOption.name, newOption];
- }));
- }
- module2.exports = {
- normalizeDetailedOptionMap,
- createDetailedOptionMap
- };
- }
-});
-var require_get_context_options = __commonJS2({
- "src/cli/options/get-context-options.js"(exports2, module2) {
- "use strict";
- var prettier2 = require("./index.js");
- var {
- optionsModule,
- utils: {
- arrayify
- }
- } = require_prettier_internal();
- var constant = require_constant();
- var {
- normalizeDetailedOptionMap,
- createDetailedOptionMap
- } = require_option_map();
- function getContextOptions(plugins, pluginSearchDirs) {
- const {
- options: supportOptions,
- languages
- } = prettier2.getSupportInfo({
- showDeprecated: true,
- showUnreleased: true,
- showInternal: true,
- plugins,
- pluginSearchDirs
- });
- const detailedOptionMap = normalizeDetailedOptionMap(Object.assign(Object.assign({}, createDetailedOptionMap(supportOptions)), constant.options));
- const detailedOptions = arrayify(detailedOptionMap, "name");
- const apiDefaultOptions = Object.assign(Object.assign({}, optionsModule.hiddenDefaults), Object.fromEntries(supportOptions.filter(({
- deprecated
- }) => !deprecated).map((option) => [option.name, option.default])));
- return {
- supportOptions,
- detailedOptions,
- detailedOptionMap,
- apiDefaultOptions,
- languages
- };
- }
- module2.exports = getContextOptions;
- }
-});
-var require_camelcase = __commonJS2({
- "node_modules/camelcase/index.js"(exports2, module2) {
- "use strict";
- var UPPERCASE = /[\p{Lu}]/u;
- var LOWERCASE = /[\p{Ll}]/u;
- var LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu;
- var IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
- var SEPARATORS = /[_.\- ]+/;
- var LEADING_SEPARATORS = new RegExp("^" + SEPARATORS.source);
- var SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, "gu");
- var NUMBERS_AND_IDENTIFIER = new RegExp("\\d+" + IDENTIFIER.source, "gu");
- var preserveCamelCase = (string, toLowerCase, toUpperCase) => {
- let isLastCharLower = false;
- let isLastCharUpper = false;
- let isLastLastCharUpper = false;
- for (let i = 0; i < string.length; i++) {
- const character = string[i];
- if (isLastCharLower && UPPERCASE.test(character)) {
- string = string.slice(0, i) + "-" + string.slice(i);
- isLastCharLower = false;
- isLastLastCharUpper = isLastCharUpper;
- isLastCharUpper = true;
- i++;
- } else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {
- string = string.slice(0, i - 1) + "-" + string.slice(i - 1);
- isLastLastCharUpper = isLastCharUpper;
- isLastCharUpper = false;
- isLastCharLower = true;
- } else {
- isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;
- isLastLastCharUpper = isLastCharUpper;
- isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;
- }
- }
- return string;
- };
- var preserveConsecutiveUppercase = (input, toLowerCase) => {
- LEADING_CAPITAL.lastIndex = 0;
- return input.replace(LEADING_CAPITAL, (m1) => toLowerCase(m1));
- };
- var postProcess = (input, toUpperCase) => {
- SEPARATORS_AND_IDENTIFIER.lastIndex = 0;
- NUMBERS_AND_IDENTIFIER.lastIndex = 0;
- return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier)).replace(NUMBERS_AND_IDENTIFIER, (m) => toUpperCase(m));
- };
- var camelCase = (input, options) => {
- if (!(typeof input === "string" || Array.isArray(input))) {
- throw new TypeError("Expected the input to be `string | string[]`");
- }
- options = Object.assign({
- pascalCase: false,
- preserveConsecutiveUppercase: false
- }, options);
- if (Array.isArray(input)) {
- input = input.map((x) => x.trim()).filter((x) => x.length).join("-");
- } else {
- input = input.trim();
- }
- if (input.length === 0) {
- return "";
- }
- const toLowerCase = options.locale === false ? (string) => string.toLowerCase() : (string) => string.toLocaleLowerCase(options.locale);
- const toUpperCase = options.locale === false ? (string) => string.toUpperCase() : (string) => string.toLocaleUpperCase(options.locale);
- if (input.length === 1) {
- return options.pascalCase ? toUpperCase(input) : toLowerCase(input);
- }
- const hasUpperCase = input !== toLowerCase(input);
- if (hasUpperCase) {
- input = preserveCamelCase(input, toLowerCase, toUpperCase);
- }
- input = input.replace(LEADING_SEPARATORS, "");
- if (options.preserveConsecutiveUppercase) {
- input = preserveConsecutiveUppercase(input, toLowerCase);
- } else {
- input = toLowerCase(input);
- }
- if (options.pascalCase) {
- input = toUpperCase(input.charAt(0)) + input.slice(1);
- }
- return postProcess(input, toUpperCase);
- };
- module2.exports = camelCase;
- module2.exports.default = camelCase;
- }
-});
-var sdbm_exports = {};
-__export(sdbm_exports, {
- default: () => sdbm
-});
-function sdbm(string) {
- let hash = 0;
- for (let i = 0; i < string.length; i++) {
- hash = string.charCodeAt(i) + (hash << 6) + (hash << 16) - hash;
- }
- return hash >>> 0;
-}
-var init_sdbm = __esm({
- "node_modules/sdbm/index.js"() {
- }
-});
-var require_utils = __commonJS2({
- "src/cli/utils.js"(exports2, module2) {
- "use strict";
- var {
- promises: fs
- } = require("fs");
- var {
- default: sdbm2
- } = (init_sdbm(), __toCommonJS(sdbm_exports));
- var printToScreen2 = console.log.bind(console);
- function groupBy(array2, iteratee) {
- const result = /* @__PURE__ */ Object.create(null);
- for (const value of array2) {
- const key = iteratee(value);
- if (Array.isArray(result[key])) {
- result[key].push(value);
- } else {
- result[key] = [value];
- }
- }
- return result;
- }
- function pick(object, keys) {
- const entries = keys.map((key) => [key, object[key]]);
- return Object.fromEntries(entries);
- }
- function createHash(source) {
- return String(sdbm2(source));
- }
- async function statSafe(filePath) {
- try {
- return await fs.stat(filePath);
- } catch (error) {
- if (error.code !== "ENOENT") {
- throw error;
- }
- }
- }
- module2.exports = {
- printToScreen: printToScreen2,
- groupBy,
- pick,
- createHash,
- statSafe
- };
- }
-});
-var require_minimist = __commonJS2({
- "node_modules/minimist/index.js"(exports2, module2) {
- module2.exports = function(args, opts) {
- if (!opts)
- opts = {};
- var flags = {
- bools: {},
- strings: {},
- unknownFn: null
- };
- if (typeof opts["unknown"] === "function") {
- flags.unknownFn = opts["unknown"];
- }
- if (typeof opts["boolean"] === "boolean" && opts["boolean"]) {
- flags.allBools = true;
- } else {
- [].concat(opts["boolean"]).filter(Boolean).forEach(function(key2) {
- flags.bools[key2] = true;
- });
- }
- var aliases = {};
- Object.keys(opts.alias || {}).forEach(function(key2) {
- aliases[key2] = [].concat(opts.alias[key2]);
- aliases[key2].forEach(function(x) {
- aliases[x] = [key2].concat(aliases[key2].filter(function(y) {
- return x !== y;
- }));
- });
- });
- [].concat(opts.string).filter(Boolean).forEach(function(key2) {
- flags.strings[key2] = true;
- if (aliases[key2]) {
- flags.strings[aliases[key2]] = true;
- }
- });
- var defaults = opts["default"] || {};
- var argv = {
- _: []
- };
- Object.keys(flags.bools).forEach(function(key2) {
- setArg(key2, defaults[key2] === void 0 ? false : defaults[key2]);
- });
- var notFlags = [];
- if (args.indexOf("--") !== -1) {
- notFlags = args.slice(args.indexOf("--") + 1);
- args = args.slice(0, args.indexOf("--"));
- }
- function argDefined(key2, arg2) {
- return flags.allBools && /^--[^=]+$/.test(arg2) || flags.strings[key2] || flags.bools[key2] || aliases[key2];
- }
- function setArg(key2, val, arg2) {
- if (arg2 && flags.unknownFn && !argDefined(key2, arg2)) {
- if (flags.unknownFn(arg2) === false)
- return;
- }
- var value2 = !flags.strings[key2] && isNumber(val) ? Number(val) : val;
- setKey(argv, key2.split("."), value2);
- (aliases[key2] || []).forEach(function(x) {
- setKey(argv, x.split("."), value2);
- });
- }
- function setKey(obj, keys, value2) {
- var o = obj;
- for (var i2 = 0; i2 < keys.length - 1; i2++) {
- var key2 = keys[i2];
- if (isConstructorOrProto(o, key2))
- return;
- if (o[key2] === void 0)
- o[key2] = {};
- if (o[key2] === Object.prototype || o[key2] === Number.prototype || o[key2] === String.prototype)
- o[key2] = {};
- if (o[key2] === Array.prototype)
- o[key2] = [];
- o = o[key2];
- }
- var key2 = keys[keys.length - 1];
- if (isConstructorOrProto(o, key2))
- return;
- if (o === Object.prototype || o === Number.prototype || o === String.prototype)
- o = {};
- if (o === Array.prototype)
- o = [];
- if (o[key2] === void 0 || flags.bools[key2] || typeof o[key2] === "boolean") {
- o[key2] = value2;
- } else if (Array.isArray(o[key2])) {
- o[key2].push(value2);
- } else {
- o[key2] = [o[key2], value2];
- }
- }
- function aliasIsBoolean(key2) {
- return aliases[key2].some(function(x) {
- return flags.bools[x];
- });
- }
- for (var i = 0; i < args.length; i++) {
- var arg = args[i];
- if (/^--.+=/.test(arg)) {
- var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
- var key = m[1];
- var value = m[2];
- if (flags.bools[key]) {
- value = value !== "false";
- }
- setArg(key, value, arg);
- } else if (/^--no-.+/.test(arg)) {
- var key = arg.match(/^--no-(.+)/)[1];
- setArg(key, false, arg);
- } else if (/^--.+/.test(arg)) {
- var key = arg.match(/^--(.+)/)[1];
- var next = args[i + 1];
- if (next !== void 0 && !/^-/.test(next) && !flags.bools[key] && !flags.allBools && (aliases[key] ? !aliasIsBoolean(key) : true)) {
- setArg(key, next, arg);
- i++;
- } else if (/^(true|false)$/.test(next)) {
- setArg(key, next === "true", arg);
- i++;
- } else {
- setArg(key, flags.strings[key] ? "" : true, arg);
- }
- } else if (/^-[^-]+/.test(arg)) {
- var letters = arg.slice(1, -1).split("");
- var broken = false;
- for (var j = 0; j < letters.length; j++) {
- var next = arg.slice(j + 2);
- if (next === "-") {
- setArg(letters[j], next, arg);
- continue;
- }
- if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) {
- setArg(letters[j], next.split("=")[1], arg);
- broken = true;
- break;
- }
- if (/[A-Za-z]/.test(letters[j]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
- setArg(letters[j], next, arg);
- broken = true;
- break;
- }
- if (letters[j + 1] && letters[j + 1].match(/\W/)) {
- setArg(letters[j], arg.slice(j + 2), arg);
- broken = true;
- break;
- } else {
- setArg(letters[j], flags.strings[letters[j]] ? "" : true, arg);
- }
- }
- var key = arg.slice(-1)[0];
- if (!broken && key !== "-") {
- if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1]) && !flags.bools[key] && (aliases[key] ? !aliasIsBoolean(key) : true)) {
- setArg(key, args[i + 1], arg);
- i++;
- } else if (args[i + 1] && /^(true|false)$/.test(args[i + 1])) {
- setArg(key, args[i + 1] === "true", arg);
- i++;
- } else {
- setArg(key, flags.strings[key] ? "" : true, arg);
- }
- }
- } else {
- if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
- argv._.push(flags.strings["_"] || !isNumber(arg) ? arg : Number(arg));
- }
- if (opts.stopEarly) {
- argv._.push.apply(argv._, args.slice(i + 1));
- break;
- }
- }
- }
- Object.keys(defaults).forEach(function(key2) {
- if (!hasKey(argv, key2.split("."))) {
- setKey(argv, key2.split("."), defaults[key2]);
- (aliases[key2] || []).forEach(function(x) {
- setKey(argv, x.split("."), defaults[key2]);
- });
- }
- });
- if (opts["--"]) {
- argv["--"] = new Array();
- notFlags.forEach(function(key2) {
- argv["--"].push(key2);
- });
- } else {
- notFlags.forEach(function(key2) {
- argv._.push(key2);
- });
- }
- return argv;
- };
- function hasKey(obj, keys) {
- var o = obj;
- keys.slice(0, -1).forEach(function(key2) {
- o = o[key2] || {};
- });
- var key = keys[keys.length - 1];
- return key in o;
- }
- function isNumber(x) {
- if (typeof x === "number")
- return true;
- if (/^0x[0-9a-f]+$/i.test(x))
- return true;
- return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
- }
- function isConstructorOrProto(obj, key) {
- return key === "constructor" && typeof obj[key] === "function" || key === "__proto__";
- }
- }
-});
-var require_minimist2 = __commonJS2({
- "src/cli/options/minimist.js"(exports2, module2) {
- "use strict";
- var minimist = require_minimist();
- var PLACEHOLDER = null;
- module2.exports = function(args, options) {
- const boolean = options.boolean || [];
- const defaults = options.default || {};
- const booleanWithoutDefault = boolean.filter((key) => !(key in defaults));
- const newDefaults = Object.assign(Object.assign({}, defaults), Object.fromEntries(booleanWithoutDefault.map((key) => [key, PLACEHOLDER])));
- const parsed = minimist(args, Object.assign(Object.assign({}, options), {}, {
- default: newDefaults
- }));
- return Object.fromEntries(Object.entries(parsed).filter(([, value]) => value !== PLACEHOLDER));
- };
- }
-});
-var require_create_minimist_options = __commonJS2({
- "src/cli/options/create-minimist-options.js"(exports2, module2) {
- "use strict";
- var {
- utils: {
- partition
- }
- } = require_prettier_internal();
- module2.exports = function createMinimistOptions(detailedOptions) {
- const [boolean, string] = partition(detailedOptions, ({
- type
- }) => type === "boolean").map((detailedOptions2) => detailedOptions2.flatMap(({
- name,
- alias
- }) => alias ? [name, alias] : [name]));
- const defaults = Object.fromEntries(detailedOptions.filter((option) => !option.deprecated && (!option.forwardToApi || option.name === "plugin" || option.name === "plugin-search-dir") && option.default !== void 0).map((option) => [option.name, option.default]));
- return {
- alias: {},
- boolean,
- string,
- default: defaults
- };
- };
- }
-});
-var leven_exports = {};
-__export(leven_exports, {
- default: () => leven
-});
-function leven(first, second) {
- if (first === second) {
- return 0;
- }
- const swap = first;
- if (first.length > second.length) {
- first = second;
- second = swap;
- }
- let firstLength = first.length;
- let secondLength = second.length;
- while (firstLength > 0 && first.charCodeAt(~-firstLength) === second.charCodeAt(~-secondLength)) {
- firstLength--;
- secondLength--;
- }
- let start = 0;
- while (start < firstLength && first.charCodeAt(start) === second.charCodeAt(start)) {
- start++;
- }
- firstLength -= start;
- secondLength -= start;
- if (firstLength === 0) {
- return secondLength;
- }
- let bCharacterCode;
- let result;
- let temporary;
- let temporary2;
- let index = 0;
- let index2 = 0;
- while (index < firstLength) {
- characterCodeCache[index] = first.charCodeAt(start + index);
- array[index] = ++index;
- }
- while (index2 < secondLength) {
- bCharacterCode = second.charCodeAt(start + index2);
- temporary = index2++;
- result = index2;
- for (index = 0; index < firstLength; index++) {
- temporary2 = bCharacterCode === characterCodeCache[index] ? temporary : temporary + 1;
- temporary = array[index];
- result = array[index] = temporary > result ? temporary2 > result ? result + 1 : temporary2 : temporary2 > temporary ? temporary + 1 : temporary2;
- }
- }
- return result;
-}
-var array;
-var characterCodeCache;
-var init_leven = __esm({
- "node_modules/leven/index.js"() {
- array = [];
- characterCodeCache = [];
- }
-});
-var require_normalize_cli_options = __commonJS2({
- "src/cli/options/normalize-cli-options.js"(exports2, module2) {
- "use strict";
- var {
- default: chalk2
- } = (init_source(), __toCommonJS(source_exports));
- var {
- default: leven2
- } = (init_leven(), __toCommonJS(leven_exports));
- var {
- optionsNormalizer
- } = require_prettier_internal();
- function normalizeCliOptions(options, optionInfos, opts) {
- return optionsNormalizer.normalizeCliOptions(options, optionInfos, Object.assign({
- colorsModule: chalk2,
- levenshteinDistance: leven2
- }, opts));
- }
- module2.exports = normalizeCliOptions;
- }
-});
-var require_parse_cli_arguments = __commonJS2({
- "src/cli/options/parse-cli-arguments.js"(exports2, module2) {
- "use strict";
- var camelCase = require_camelcase();
- var {
- pick
- } = require_utils();
- var getContextOptions = require_get_context_options();
- var minimist = require_minimist2();
- var createMinimistOptions = require_create_minimist_options();
- var normalizeCliOptions = require_normalize_cli_options();
- function parseArgv(rawArguments, detailedOptions, logger, keys) {
- const minimistOptions = createMinimistOptions(detailedOptions);
- let argv = minimist(rawArguments, minimistOptions);
- if (keys) {
- if (keys.includes("plugin-search-dir") && !keys.includes("plugin-search")) {
- keys.push("plugin-search");
- }
- detailedOptions = detailedOptions.filter((option) => keys.includes(option.name));
- argv = pick(argv, keys);
- }
- const normalized = normalizeCliOptions(argv, detailedOptions, {
- logger
- });
- return Object.assign(Object.assign({}, Object.fromEntries(Object.entries(normalized).map(([key, value]) => {
- const option = detailedOptions.find(({
- name
- }) => name === key) || {};
- return [option.forwardToApi || camelCase(key), value];
- }))), {}, {
- get __raw() {
- return argv;
- }
- });
- }
- var detailedOptionsWithoutPlugins = getContextOptions([], false).detailedOptions;
- function parseArgvWithoutPlugins2(rawArguments, logger, keys) {
- return parseArgv(rawArguments, detailedOptionsWithoutPlugins, logger, typeof keys === "string" ? [keys] : keys);
- }
- module2.exports = {
- parseArgv,
- parseArgvWithoutPlugins: parseArgvWithoutPlugins2
- };
- }
-});
-var require_context = __commonJS2({
- "src/cli/context.js"(exports2, module2) {
- "use strict";
- var {
- utils: {
- getLast
- }
- } = require_prettier_internal();
- var getContextOptions = require_get_context_options();
- var {
- parseArgv,
- parseArgvWithoutPlugins: parseArgvWithoutPlugins2
- } = require_parse_cli_arguments();
- var Context2 = class {
- constructor({
- rawArguments,
- logger
- }) {
- this.rawArguments = rawArguments;
- this.logger = logger;
- this.stack = [];
- const {
- plugins,
- pluginSearchDirs
- } = parseArgvWithoutPlugins2(rawArguments, logger, ["plugin", "plugin-search-dir"]);
- this.pushContextPlugins(plugins, pluginSearchDirs);
- const argv = parseArgv(rawArguments, this.detailedOptions, logger);
- this.argv = argv;
- this.filePatterns = argv._.map(String);
- }
- pushContextPlugins(plugins, pluginSearchDirs) {
- const options = getContextOptions(plugins, pluginSearchDirs);
- this.stack.push(options);
- Object.assign(this, options);
- }
- popContextPlugins() {
- this.stack.pop();
- Object.assign(this, getLast(this.stack));
- }
- get performanceTestFlag() {
- const {
- debugBenchmark,
- debugRepeat
- } = this.argv;
- if (debugBenchmark) {
- return {
- name: "--debug-benchmark",
- debugBenchmark: true
- };
- }
- if (debugRepeat > 0) {
- return {
- name: "--debug-repeat",
- debugRepeat
- };
- }
- const {
- PRETTIER_PERF_REPEAT
- } = process.env;
- if (PRETTIER_PERF_REPEAT && /^\d+$/.test(PRETTIER_PERF_REPEAT)) {
- return {
- name: "PRETTIER_PERF_REPEAT (environment variable)",
- debugRepeat: Number(PRETTIER_PERF_REPEAT)
- };
- }
- }
- };
- module2.exports = Context2;
- }
-});
-var require_usage = __commonJS2({
- "src/cli/usage.js"(exports2, module2) {
- "use strict";
- var camelCase = require_camelcase();
- var constant = require_constant();
- var {
- groupBy
- } = require_utils();
- var OPTION_USAGE_THRESHOLD = 25;
- var CHOICE_USAGE_MARGIN = 3;
- var CHOICE_USAGE_INDENTATION = 2;
- function indent(str, spaces) {
- return str.replace(/^/gm, " ".repeat(spaces));
- }
- function createDefaultValueDisplay(value) {
- return Array.isArray(value) ? `[${value.map(createDefaultValueDisplay).join(", ")}]` : value;
- }
- function getOptionDefaultValue(context, optionName) {
- if (!(optionName in context.detailedOptionMap)) {
- return;
- }
- const option = context.detailedOptionMap[optionName];
- if (option.default !== void 0) {
- return option.default;
- }
- const optionCamelName = camelCase(optionName);
- if (optionCamelName in context.apiDefaultOptions) {
- return context.apiDefaultOptions[optionCamelName];
- }
- }
- function createOptionUsageHeader(option) {
- const name = `--${option.name}`;
- const alias = option.alias ? `-${option.alias},` : null;
- const type = createOptionUsageType(option);
- return [alias, name, type].filter(Boolean).join(" ");
- }
- function createOptionUsageRow(header, content, threshold) {
- const separator = header.length >= threshold ? `
-${" ".repeat(threshold)}` : " ".repeat(threshold - header.length);
- const description = content.replace(/\n/g, `
-${" ".repeat(threshold)}`);
- return `${header}${separator}${description}`;
- }
- function createOptionUsageType(option) {
- switch (option.type) {
- case "boolean":
- return null;
- case "choice":
- return `<${option.choices.filter((choice) => !choice.deprecated && choice.since !== null).map((choice) => choice.value).join("|")}>`;
- default:
- return `<${option.type}>`;
- }
- }
- function createChoiceUsages(choices, margin, indentation) {
- const activeChoices = choices.filter((choice) => !choice.deprecated && choice.since !== null);
- const threshold = Math.max(0, ...activeChoices.map((choice) => choice.value.length)) + margin;
- return activeChoices.map((choice) => indent(createOptionUsageRow(choice.value, choice.description, threshold), indentation));
- }
- function createOptionUsage(context, option, threshold) {
- const header = createOptionUsageHeader(option);
- const optionDefaultValue = getOptionDefaultValue(context, option.name);
- return createOptionUsageRow(header, `${option.description}${optionDefaultValue === void 0 ? "" : `
-Defaults to ${createDefaultValueDisplay(optionDefaultValue)}.`}`, threshold);
- }
- function getOptionsWithOpposites(options) {
- const optionsWithOpposites = options.map((option) => [option.description ? option : null, option.oppositeDescription ? Object.assign(Object.assign({}, option), {}, {
- name: `no-${option.name}`,
- type: "boolean",
- description: option.oppositeDescription
- }) : null]);
- return optionsWithOpposites.flat().filter(Boolean);
- }
- function createUsage2(context) {
- const options = getOptionsWithOpposites(context.detailedOptions).filter((option) => !(option.type === "boolean" && option.oppositeDescription && !option.name.startsWith("no-")));
- const groupedOptions = groupBy(options, (option) => option.category);
- const firstCategories = constant.categoryOrder.slice(0, -1);
- const lastCategories = constant.categoryOrder.slice(-1);
- const restCategories = Object.keys(groupedOptions).filter((category) => !constant.categoryOrder.includes(category));
- const allCategories = [...firstCategories, ...restCategories, ...lastCategories];
- const optionsUsage = allCategories.map((category) => {
- const categoryOptions = groupedOptions[category].map((option) => createOptionUsage(context, option, OPTION_USAGE_THRESHOLD)).join("\n");
- return `${category} options:
-
-${indent(categoryOptions, 2)}`;
- });
- return [constant.usageSummary, ...optionsUsage, ""].join("\n\n");
- }
- function createDetailedUsage2(context, flag) {
- const option = getOptionsWithOpposites(context.detailedOptions).find((option2) => option2.name === flag || option2.alias === flag);
- const header = createOptionUsageHeader(option);
- const description = `
-
-${indent(option.description, 2)}`;
- const choices = option.type !== "choice" ? "" : `
-
-Valid options:
-
-${createChoiceUsages(option.choices, CHOICE_USAGE_MARGIN, CHOICE_USAGE_INDENTATION).join("\n")}`;
- const optionDefaultValue = getOptionDefaultValue(context, option.name);
- const defaults = optionDefaultValue !== void 0 ? `
-
-Default: ${createDefaultValueDisplay(optionDefaultValue)}` : "";
- const pluginDefaults = option.pluginDefaults && Object.keys(option.pluginDefaults).length > 0 ? `
-Plugin defaults:${Object.entries(option.pluginDefaults).map(([key, value]) => `
-* ${key}: ${createDefaultValueDisplay(value)}`)}` : "";
- return `${header}${description}${choices}${defaults}${pluginDefaults}`;
- }
- module2.exports = {
- createUsage: createUsage2,
- createDetailedUsage: createDetailedUsage2
- };
- }
-});
-var require_array = __commonJS2({
- "node_modules/fast-glob/out/utils/array.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.splitWhen = exports2.flatten = void 0;
- function flatten(items) {
- return items.reduce((collection, item) => [].concat(collection, item), []);
- }
- exports2.flatten = flatten;
- function splitWhen(items, predicate) {
- const result = [[]];
- let groupIndex = 0;
- for (const item of items) {
- if (predicate(item)) {
- groupIndex++;
- result[groupIndex] = [];
- } else {
- result[groupIndex].push(item);
- }
- }
- return result;
- }
- exports2.splitWhen = splitWhen;
- }
-});
-var require_errno = __commonJS2({
- "node_modules/fast-glob/out/utils/errno.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.isEnoentCodeError = void 0;
- function isEnoentCodeError(error) {
- return error.code === "ENOENT";
- }
- exports2.isEnoentCodeError = isEnoentCodeError;
- }
-});
-var require_fs = __commonJS2({
- "node_modules/fast-glob/out/utils/fs.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.createDirentFromStats = void 0;
- var DirentFromStats = class {
- constructor(name, stats) {
- this.name = name;
- this.isBlockDevice = stats.isBlockDevice.bind(stats);
- this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
- this.isDirectory = stats.isDirectory.bind(stats);
- this.isFIFO = stats.isFIFO.bind(stats);
- this.isFile = stats.isFile.bind(stats);
- this.isSocket = stats.isSocket.bind(stats);
- this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
- }
- };
- function createDirentFromStats(name, stats) {
- return new DirentFromStats(name, stats);
- }
- exports2.createDirentFromStats = createDirentFromStats;
- }
-});
-var require_path = __commonJS2({
- "node_modules/fast-glob/out/utils/path.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.removeLeadingDotSegment = exports2.escape = exports2.makeAbsolute = exports2.unixify = void 0;
- var path = require("path");
- var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2;
- var UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;
- function unixify(filepath) {
- return filepath.replace(/\\/g, "/");
- }
- exports2.unixify = unixify;
- function makeAbsolute(cwd, filepath) {
- return path.resolve(cwd, filepath);
- }
- exports2.makeAbsolute = makeAbsolute;
- function escape(pattern) {
- return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
- }
- exports2.escape = escape;
- function removeLeadingDotSegment(entry) {
- if (entry.charAt(0) === ".") {
- const secondCharactery = entry.charAt(1);
- if (secondCharactery === "/" || secondCharactery === "\\") {
- return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT);
- }
- }
- return entry;
- }
- exports2.removeLeadingDotSegment = removeLeadingDotSegment;
- }
-});
-var require_is_extglob = __commonJS2({
- "node_modules/is-extglob/index.js"(exports2, module2) {
- module2.exports = function isExtglob(str) {
- if (typeof str !== "string" || str === "") {
- return false;
- }
- var match;
- while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) {
- if (match[2])
- return true;
- str = str.slice(match.index + match[0].length);
- }
- return false;
- };
- }
-});
-var require_is_glob = __commonJS2({
- "node_modules/is-glob/index.js"(exports2, module2) {
- var isExtglob = require_is_extglob();
- var chars = {
- "{": "}",
- "(": ")",
- "[": "]"
- };
- var strictCheck = function(str) {
- if (str[0] === "!") {
- return true;
- }
- var index = 0;
- var pipeIndex = -2;
- var closeSquareIndex = -2;
- var closeCurlyIndex = -2;
- var closeParenIndex = -2;
- var backSlashIndex = -2;
- while (index < str.length) {
- if (str[index] === "*") {
- return true;
- }
- if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) {
- return true;
- }
- if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") {
- if (closeSquareIndex < index) {
- closeSquareIndex = str.indexOf("]", index);
- }
- if (closeSquareIndex > index) {
- if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
- return true;
- }
- backSlashIndex = str.indexOf("\\", index);
- if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
- return true;
- }
- }
- }
- if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") {
- closeCurlyIndex = str.indexOf("}", index);
- if (closeCurlyIndex > index) {
- backSlashIndex = str.indexOf("\\", index);
- if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
- return true;
- }
- }
- }
- if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") {
- closeParenIndex = str.indexOf(")", index);
- if (closeParenIndex > index) {
- backSlashIndex = str.indexOf("\\", index);
- if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
- return true;
- }
- }
- }
- if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") {
- if (pipeIndex < index) {
- pipeIndex = str.indexOf("|", index);
- }
- if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") {
- closeParenIndex = str.indexOf(")", pipeIndex);
- if (closeParenIndex > pipeIndex) {
- backSlashIndex = str.indexOf("\\", pipeIndex);
- if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
- return true;
- }
- }
- }
- }
- if (str[index] === "\\") {
- var open = str[index + 1];
- index += 2;
- var close = chars[open];
- if (close) {
- var n = str.indexOf(close, index);
- if (n !== -1) {
- index = n + 1;
- }
- }
- if (str[index] === "!") {
- return true;
- }
- } else {
- index++;
- }
- }
- return false;
- };
- var relaxedCheck = function(str) {
- if (str[0] === "!") {
- return true;
- }
- var index = 0;
- while (index < str.length) {
- if (/[*?{}()[\]]/.test(str[index])) {
- return true;
- }
- if (str[index] === "\\") {
- var open = str[index + 1];
- index += 2;
- var close = chars[open];
- if (close) {
- var n = str.indexOf(close, index);
- if (n !== -1) {
- index = n + 1;
- }
- }
- if (str[index] === "!") {
- return true;
- }
- } else {
- index++;
- }
- }
- return false;
- };
- module2.exports = function isGlob(str, options) {
- if (typeof str !== "string" || str === "") {
- return false;
- }
- if (isExtglob(str)) {
- return true;
- }
- var check = strictCheck;
- if (options && options.strict === false) {
- check = relaxedCheck;
- }
- return check(str);
- };
- }
-});
-var require_glob_parent = __commonJS2({
- "node_modules/glob-parent/index.js"(exports2, module2) {
- "use strict";
- var isGlob = require_is_glob();
- var pathPosixDirname = require("path").posix.dirname;
- var isWin32 = require("os").platform() === "win32";
- var slash = "/";
- var backslash = /\\/g;
- var enclosure = /[\{\[].*[\}\]]$/;
- var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
- var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
- module2.exports = function globParent(str, opts) {
- var options = Object.assign({
- flipBackslashes: true
- }, opts);
- if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) {
- str = str.replace(backslash, slash);
- }
- if (enclosure.test(str)) {
- str += slash;
- }
- str += "a";
- do {
- str = pathPosixDirname(str);
- } while (isGlob(str) || globby.test(str));
- return str.replace(escaped, "$1");
- };
- }
-});
-var require_utils2 = __commonJS2({
- "node_modules/braces/lib/utils.js"(exports2) {
- "use strict";
- exports2.isInteger = (num) => {
- if (typeof num === "number") {
- return Number.isInteger(num);
- }
- if (typeof num === "string" && num.trim() !== "") {
- return Number.isInteger(Number(num));
- }
- return false;
- };
- exports2.find = (node, type) => node.nodes.find((node2) => node2.type === type);
- exports2.exceedsLimit = (min, max, step = 1, limit) => {
- if (limit === false)
- return false;
- if (!exports2.isInteger(min) || !exports2.isInteger(max))
- return false;
- return (Number(max) - Number(min)) / Number(step) >= limit;
- };
- exports2.escapeNode = (block, n = 0, type) => {
- let node = block.nodes[n];
- if (!node)
- return;
- if (type && node.type === type || node.type === "open" || node.type === "close") {
- if (node.escaped !== true) {
- node.value = "\\" + node.value;
- node.escaped = true;
- }
- }
- };
- exports2.encloseBrace = (node) => {
- if (node.type !== "brace")
- return false;
- if (node.commas >> 0 + node.ranges >> 0 === 0) {
- node.invalid = true;
- return true;
- }
- return false;
- };
- exports2.isInvalidBrace = (block) => {
- if (block.type !== "brace")
- return false;
- if (block.invalid === true || block.dollar)
- return true;
- if (block.commas >> 0 + block.ranges >> 0 === 0) {
- block.invalid = true;
- return true;
- }
- if (block.open !== true || block.close !== true) {
- block.invalid = true;
- return true;
- }
- return false;
- };
- exports2.isOpenOrClose = (node) => {
- if (node.type === "open" || node.type === "close") {
- return true;
- }
- return node.open === true || node.close === true;
- };
- exports2.reduce = (nodes) => nodes.reduce((acc, node) => {
- if (node.type === "text")
- acc.push(node.value);
- if (node.type === "range")
- node.type = "text";
- return acc;
- }, []);
- exports2.flatten = (...args) => {
- const result = [];
- const flat = (arr) => {
- for (let i = 0; i < arr.length; i++) {
- let ele = arr[i];
- Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele);
- }
- return result;
- };
- flat(args);
- return result;
- };
- }
-});
-var require_stringify = __commonJS2({
- "node_modules/braces/lib/stringify.js"(exports2, module2) {
- "use strict";
- var utils = require_utils2();
- module2.exports = (ast, options = {}) => {
- let stringify2 = (node, parent = {}) => {
- let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
- let invalidNode = node.invalid === true && options.escapeInvalid === true;
- let output = "";
- if (node.value) {
- if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
- return "\\" + node.value;
- }
- return node.value;
- }
- if (node.value) {
- return node.value;
- }
- if (node.nodes) {
- for (let child of node.nodes) {
- output += stringify2(child);
- }
- }
- return output;
- };
- return stringify2(ast);
- };
- }
-});
-var require_is_number = __commonJS2({
- "node_modules/is-number/index.js"(exports2, module2) {
- "use strict";
- module2.exports = function(num) {
- if (typeof num === "number") {
- return num - num === 0;
- }
- if (typeof num === "string" && num.trim() !== "") {
- return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
- }
- return false;
- };
- }
-});
-var require_to_regex_range = __commonJS2({
- "node_modules/to-regex-range/index.js"(exports2, module2) {
- "use strict";
- var isNumber = require_is_number();
- var toRegexRange = (min, max, options) => {
- if (isNumber(min) === false) {
- throw new TypeError("toRegexRange: expected the first argument to be a number");
- }
- if (max === void 0 || min === max) {
- return String(min);
- }
- if (isNumber(max) === false) {
- throw new TypeError("toRegexRange: expected the second argument to be a number.");
- }
- let opts = Object.assign({
- relaxZeros: true
- }, options);
- if (typeof opts.strictZeros === "boolean") {
- opts.relaxZeros = opts.strictZeros === false;
- }
- let relax = String(opts.relaxZeros);
- let shorthand = String(opts.shorthand);
- let capture = String(opts.capture);
- let wrap = String(opts.wrap);
- let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap;
- if (toRegexRange.cache.hasOwnProperty(cacheKey)) {
- return toRegexRange.cache[cacheKey].result;
- }
- let a = Math.min(min, max);
- let b = Math.max(min, max);
- if (Math.abs(a - b) === 1) {
- let result = min + "|" + max;
- if (opts.capture) {
- return `(${result})`;
- }
- if (opts.wrap === false) {
- return result;
- }
- return `(?:${result})`;
- }
- let isPadded = hasPadding(min) || hasPadding(max);
- let state = {
- min,
- max,
- a,
- b
- };
- let positives = [];
- let negatives = [];
- if (isPadded) {
- state.isPadded = isPadded;
- state.maxLen = String(state.max).length;
- }
- if (a < 0) {
- let newMin = b < 0 ? Math.abs(b) : 1;
- negatives = splitToPatterns(newMin, Math.abs(a), state, opts);
- a = state.a = 0;
- }
- if (b >= 0) {
- positives = splitToPatterns(a, b, state, opts);
- }
- state.negatives = negatives;
- state.positives = positives;
- state.result = collatePatterns(negatives, positives, opts);
- if (opts.capture === true) {
- state.result = `(${state.result})`;
- } else if (opts.wrap !== false && positives.length + negatives.length > 1) {
- state.result = `(?:${state.result})`;
- }
- toRegexRange.cache[cacheKey] = state;
- return state.result;
- };
- function collatePatterns(neg, pos, options) {
- let onlyNegative = filterPatterns(neg, pos, "-", false, options) || [];
- let onlyPositive = filterPatterns(pos, neg, "", false, options) || [];
- let intersected = filterPatterns(neg, pos, "-?", true, options) || [];
- let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);
- return subpatterns.join("|");
- }
- function splitToRanges(min, max) {
- let nines = 1;
- let zeros = 1;
- let stop = countNines(min, nines);
- let stops = /* @__PURE__ */ new Set([max]);
- while (min <= stop && stop <= max) {
- stops.add(stop);
- nines += 1;
- stop = countNines(min, nines);
- }
- stop = countZeros(max + 1, zeros) - 1;
- while (min < stop && stop <= max) {
- stops.add(stop);
- zeros += 1;
- stop = countZeros(max + 1, zeros) - 1;
- }
- stops = [...stops];
- stops.sort(compare);
- return stops;
- }
- function rangeToPattern(start, stop, options) {
- if (start === stop) {
- return {
- pattern: start,
- count: [],
- digits: 0
- };
- }
- let zipped = zip(start, stop);
- let digits = zipped.length;
- let pattern = "";
- let count = 0;
- for (let i = 0; i < digits; i++) {
- let [startDigit, stopDigit] = zipped[i];
- if (startDigit === stopDigit) {
- pattern += startDigit;
- } else if (startDigit !== "0" || stopDigit !== "9") {
- pattern += toCharacterClass(startDigit, stopDigit, options);
- } else {
- count++;
- }
- }
- if (count) {
- pattern += options.shorthand === true ? "\\d" : "[0-9]";
- }
- return {
- pattern,
- count: [count],
- digits
- };
- }
- function splitToPatterns(min, max, tok, options) {
- let ranges = splitToRanges(min, max);
- let tokens = [];
- let start = min;
- let prev;
- for (let i = 0; i < ranges.length; i++) {
- let max2 = ranges[i];
- let obj = rangeToPattern(String(start), String(max2), options);
- let zeros = "";
- if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
- if (prev.count.length > 1) {
- prev.count.pop();
- }
- prev.count.push(obj.count[0]);
- prev.string = prev.pattern + toQuantifier(prev.count);
- start = max2 + 1;
- continue;
- }
- if (tok.isPadded) {
- zeros = padZeros(max2, tok, options);
- }
- obj.string = zeros + obj.pattern + toQuantifier(obj.count);
- tokens.push(obj);
- start = max2 + 1;
- prev = obj;
- }
- return tokens;
- }
- function filterPatterns(arr, comparison, prefix, intersection, options) {
- let result = [];
- for (let ele of arr) {
- let {
- string
- } = ele;
- if (!intersection && !contains(comparison, "string", string)) {
- result.push(prefix + string);
- }
- if (intersection && contains(comparison, "string", string)) {
- result.push(prefix + string);
- }
- }
- return result;
- }
- function zip(a, b) {
- let arr = [];
- for (let i = 0; i < a.length; i++)
- arr.push([a[i], b[i]]);
- return arr;
- }
- function compare(a, b) {
- return a > b ? 1 : b > a ? -1 : 0;
- }
- function contains(arr, key, val) {
- return arr.some((ele) => ele[key] === val);
- }
- function countNines(min, len) {
- return Number(String(min).slice(0, -len) + "9".repeat(len));
- }
- function countZeros(integer, zeros) {
- return integer - integer % Math.pow(10, zeros);
- }
- function toQuantifier(digits) {
- let [start = 0, stop = ""] = digits;
- if (stop || start > 1) {
- return `{${start + (stop ? "," + stop : "")}}`;
- }
- return "";
- }
- function toCharacterClass(a, b, options) {
- return `[${a}${b - a === 1 ? "" : "-"}${b}]`;
- }
- function hasPadding(str) {
- return /^-?(0+)\d/.test(str);
- }
- function padZeros(value, tok, options) {
- if (!tok.isPadded) {
- return value;
- }
- let diff = Math.abs(tok.maxLen - String(value).length);
- let relax = options.relaxZeros !== false;
- switch (diff) {
- case 0:
- return "";
- case 1:
- return relax ? "0?" : "0";
- case 2:
- return relax ? "0{0,2}" : "00";
- default: {
- return relax ? `0{0,${diff}}` : `0{${diff}}`;
- }
- }
- }
- toRegexRange.cache = {};
- toRegexRange.clearCache = () => toRegexRange.cache = {};
- module2.exports = toRegexRange;
- }
-});
-var require_fill_range = __commonJS2({
- "node_modules/fill-range/index.js"(exports2, module2) {
- "use strict";
- var util = require("util");
- var toRegexRange = require_to_regex_range();
- var isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
- var transform = (toNumber) => {
- return (value) => toNumber === true ? Number(value) : String(value);
- };
- var isValidValue = (value) => {
- return typeof value === "number" || typeof value === "string" && value !== "";
- };
- var isNumber = (num) => Number.isInteger(+num);
- var zeros = (input) => {
- let value = `${input}`;
- let index = -1;
- if (value[0] === "-")
- value = value.slice(1);
- if (value === "0")
- return false;
- while (value[++index] === "0")
- ;
- return index > 0;
- };
- var stringify2 = (start, end, options) => {
- if (typeof start === "string" || typeof end === "string") {
- return true;
- }
- return options.stringify === true;
- };
- var pad = (input, maxLength, toNumber) => {
- if (maxLength > 0) {
- let dash = input[0] === "-" ? "-" : "";
- if (dash)
- input = input.slice(1);
- input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0");
- }
- if (toNumber === false) {
- return String(input);
- }
- return input;
- };
- var toMaxLen = (input, maxLength) => {
- let negative = input[0] === "-" ? "-" : "";
- if (negative) {
- input = input.slice(1);
- maxLength--;
- }
- while (input.length < maxLength)
- input = "0" + input;
- return negative ? "-" + input : input;
- };
- var toSequence = (parts, options) => {
- parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
- parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
- let prefix = options.capture ? "" : "?:";
- let positives = "";
- let negatives = "";
- let result;
- if (parts.positives.length) {
- positives = parts.positives.join("|");
- }
- if (parts.negatives.length) {
- negatives = `-(${prefix}${parts.negatives.join("|")})`;
- }
- if (positives && negatives) {
- result = `${positives}|${negatives}`;
- } else {
- result = positives || negatives;
- }
- if (options.wrap) {
- return `(${prefix}${result})`;
- }
- return result;
- };
- var toRange = (a, b, isNumbers, options) => {
- if (isNumbers) {
- return toRegexRange(a, b, Object.assign({
- wrap: false
- }, options));
- }
- let start = String.fromCharCode(a);
- if (a === b)
- return start;
- let stop = String.fromCharCode(b);
- return `[${start}-${stop}]`;
- };
- var toRegex = (start, end, options) => {
- if (Array.isArray(start)) {
- let wrap = options.wrap === true;
- let prefix = options.capture ? "" : "?:";
- return wrap ? `(${prefix}${start.join("|")})` : start.join("|");
- }
- return toRegexRange(start, end, options);
- };
- var rangeError = (...args) => {
- return new RangeError("Invalid range arguments: " + util.inspect(...args));
- };
- var invalidRange = (start, end, options) => {
- if (options.strictRanges === true)
- throw rangeError([start, end]);
- return [];
- };
- var invalidStep = (step, options) => {
- if (options.strictRanges === true) {
- throw new TypeError(`Expected step "${step}" to be a number`);
- }
- return [];
- };
- var fillNumbers = (start, end, step = 1, options = {}) => {
- let a = Number(start);
- let b = Number(end);
- if (!Number.isInteger(a) || !Number.isInteger(b)) {
- if (options.strictRanges === true)
- throw rangeError([start, end]);
- return [];
- }
- if (a === 0)
- a = 0;
- if (b === 0)
- b = 0;
- let descending = a > b;
- let startString = String(start);
- let endString = String(end);
- let stepString = String(step);
- step = Math.max(Math.abs(step), 1);
- let padded = zeros(startString) || zeros(endString) || zeros(stepString);
- let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
- let toNumber = padded === false && stringify2(start, end, options) === false;
- let format = options.transform || transform(toNumber);
- if (options.toRegex && step === 1) {
- return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options);
- }
- let parts = {
- negatives: [],
- positives: []
- };
- let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num));
- let range = [];
- let index = 0;
- while (descending ? a >= b : a <= b) {
- if (options.toRegex === true && step > 1) {
- push(a);
- } else {
- range.push(pad(format(a, index), maxLen, toNumber));
- }
- a = descending ? a - step : a + step;
- index++;
- }
- if (options.toRegex === true) {
- return step > 1 ? toSequence(parts, options) : toRegex(range, null, Object.assign({
- wrap: false
- }, options));
- }
- return range;
- };
- var fillLetters = (start, end, step = 1, options = {}) => {
- if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) {
- return invalidRange(start, end, options);
- }
- let format = options.transform || ((val) => String.fromCharCode(val));
- let a = `${start}`.charCodeAt(0);
- let b = `${end}`.charCodeAt(0);
- let descending = a > b;
- let min = Math.min(a, b);
- let max = Math.max(a, b);
- if (options.toRegex && step === 1) {
- return toRange(min, max, false, options);
- }
- let range = [];
- let index = 0;
- while (descending ? a >= b : a <= b) {
- range.push(format(a, index));
- a = descending ? a - step : a + step;
- index++;
- }
- if (options.toRegex === true) {
- return toRegex(range, null, {
- wrap: false,
- options
- });
- }
- return range;
- };
- var fill = (start, end, step, options = {}) => {
- if (end == null && isValidValue(start)) {
- return [start];
- }
- if (!isValidValue(start) || !isValidValue(end)) {
- return invalidRange(start, end, options);
- }
- if (typeof step === "function") {
- return fill(start, end, 1, {
- transform: step
- });
- }
- if (isObject(step)) {
- return fill(start, end, 0, step);
- }
- let opts = Object.assign({}, options);
- if (opts.capture === true)
- opts.wrap = true;
- step = step || opts.step || 1;
- if (!isNumber(step)) {
- if (step != null && !isObject(step))
- return invalidStep(step, opts);
- return fill(start, end, 1, step);
- }
- if (isNumber(start) && isNumber(end)) {
- return fillNumbers(start, end, step, opts);
- }
- return fillLetters(start, end, Math.max(Math.abs(step), 1), opts);
- };
- module2.exports = fill;
- }
-});
-var require_compile = __commonJS2({
- "node_modules/braces/lib/compile.js"(exports2, module2) {
- "use strict";
- var fill = require_fill_range();
- var utils = require_utils2();
- var compile = (ast, options = {}) => {
- let walk = (node, parent = {}) => {
- let invalidBlock = utils.isInvalidBrace(parent);
- let invalidNode = node.invalid === true && options.escapeInvalid === true;
- let invalid = invalidBlock === true || invalidNode === true;
- let prefix = options.escapeInvalid === true ? "\\" : "";
- let output = "";
- if (node.isOpen === true) {
- return prefix + node.value;
- }
- if (node.isClose === true) {
- return prefix + node.value;
- }
- if (node.type === "open") {
- return invalid ? prefix + node.value : "(";
- }
- if (node.type === "close") {
- return invalid ? prefix + node.value : ")";
- }
- if (node.type === "comma") {
- return node.prev.type === "comma" ? "" : invalid ? node.value : "|";
- }
- if (node.value) {
- return node.value;
- }
- if (node.nodes && node.ranges > 0) {
- let args = utils.reduce(node.nodes);
- let range = fill(...args, Object.assign(Object.assign({}, options), {}, {
- wrap: false,
- toRegex: true
- }));
- if (range.length !== 0) {
- return args.length > 1 && range.length > 1 ? `(${range})` : range;
- }
- }
- if (node.nodes) {
- for (let child of node.nodes) {
- output += walk(child, node);
- }
- }
- return output;
- };
- return walk(ast);
- };
- module2.exports = compile;
- }
-});
-var require_expand = __commonJS2({
- "node_modules/braces/lib/expand.js"(exports2, module2) {
- "use strict";
- var fill = require_fill_range();
- var stringify2 = require_stringify();
- var utils = require_utils2();
- var append = (queue = "", stash = "", enclose = false) => {
- let result = [];
- queue = [].concat(queue);
- stash = [].concat(stash);
- if (!stash.length)
- return queue;
- if (!queue.length) {
- return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash;
- }
- for (let item of queue) {
- if (Array.isArray(item)) {
- for (let value of item) {
- result.push(append(value, stash, enclose));
- }
- } else {
- for (let ele of stash) {
- if (enclose === true && typeof ele === "string")
- ele = `{${ele}}`;
- result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele);
- }
- }
- }
- return utils.flatten(result);
- };
- var expand = (ast, options = {}) => {
- let rangeLimit = options.rangeLimit === void 0 ? 1e3 : options.rangeLimit;
- let walk = (node, parent = {}) => {
- node.queue = [];
- let p = parent;
- let q = parent.queue;
- while (p.type !== "brace" && p.type !== "root" && p.parent) {
- p = p.parent;
- q = p.queue;
- }
- if (node.invalid || node.dollar) {
- q.push(append(q.pop(), stringify2(node, options)));
- return;
- }
- if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) {
- q.push(append(q.pop(), ["{}"]));
- return;
- }
- if (node.nodes && node.ranges > 0) {
- let args = utils.reduce(node.nodes);
- if (utils.exceedsLimit(...args, options.step, rangeLimit)) {
- throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");
- }
- let range = fill(...args, options);
- if (range.length === 0) {
- range = stringify2(node, options);
- }
- q.push(append(q.pop(), range));
- node.nodes = [];
- return;
- }
- let enclose = utils.encloseBrace(node);
- let queue = node.queue;
- let block = node;
- while (block.type !== "brace" && block.type !== "root" && block.parent) {
- block = block.parent;
- queue = block.queue;
- }
- for (let i = 0; i < node.nodes.length; i++) {
- let child = node.nodes[i];
- if (child.type === "comma" && node.type === "brace") {
- if (i === 1)
- queue.push("");
- queue.push("");
- continue;
- }
- if (child.type === "close") {
- q.push(append(q.pop(), queue, enclose));
- continue;
- }
- if (child.value && child.type !== "open") {
- queue.push(append(queue.pop(), child.value));
- continue;
- }
- if (child.nodes) {
- walk(child, node);
- }
- }
- return queue;
- };
- return utils.flatten(walk(ast));
- };
- module2.exports = expand;
- }
-});
-var require_constants = __commonJS2({
- "node_modules/braces/lib/constants.js"(exports2, module2) {
- "use strict";
- module2.exports = {
- MAX_LENGTH: 1024 * 64,
- CHAR_0: "0",
- CHAR_9: "9",
- CHAR_UPPERCASE_A: "A",
- CHAR_LOWERCASE_A: "a",
- CHAR_UPPERCASE_Z: "Z",
- CHAR_LOWERCASE_Z: "z",
- CHAR_LEFT_PARENTHESES: "(",
- CHAR_RIGHT_PARENTHESES: ")",
- CHAR_ASTERISK: "*",
- CHAR_AMPERSAND: "&",
- CHAR_AT: "@",
- CHAR_BACKSLASH: "\\",
- CHAR_BACKTICK: "`",
- CHAR_CARRIAGE_RETURN: "\r",
- CHAR_CIRCUMFLEX_ACCENT: "^",
- CHAR_COLON: ":",
- CHAR_COMMA: ",",
- CHAR_DOLLAR: "$",
- CHAR_DOT: ".",
- CHAR_DOUBLE_QUOTE: '"',
- CHAR_EQUAL: "=",
- CHAR_EXCLAMATION_MARK: "!",
- CHAR_FORM_FEED: "\f",
- CHAR_FORWARD_SLASH: "/",
- CHAR_HASH: "#",
- CHAR_HYPHEN_MINUS: "-",
- CHAR_LEFT_ANGLE_BRACKET: "<",
- CHAR_LEFT_CURLY_BRACE: "{",
- CHAR_LEFT_SQUARE_BRACKET: "[",
- CHAR_LINE_FEED: "\n",
- CHAR_NO_BREAK_SPACE: "\xA0",
- CHAR_PERCENT: "%",
- CHAR_PLUS: "+",
- CHAR_QUESTION_MARK: "?",
- CHAR_RIGHT_ANGLE_BRACKET: ">",
- CHAR_RIGHT_CURLY_BRACE: "}",
- CHAR_RIGHT_SQUARE_BRACKET: "]",
- CHAR_SEMICOLON: ";",
- CHAR_SINGLE_QUOTE: "'",
- CHAR_SPACE: " ",
- CHAR_TAB: " ",
- CHAR_UNDERSCORE: "_",
- CHAR_VERTICAL_LINE: "|",
- CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF"
- };
- }
-});
-var require_parse = __commonJS2({
- "node_modules/braces/lib/parse.js"(exports2, module2) {
- "use strict";
- var stringify2 = require_stringify();
- var {
- MAX_LENGTH,
- CHAR_BACKSLASH,
- CHAR_BACKTICK,
- CHAR_COMMA,
- CHAR_DOT,
- CHAR_LEFT_PARENTHESES,
- CHAR_RIGHT_PARENTHESES,
- CHAR_LEFT_CURLY_BRACE,
- CHAR_RIGHT_CURLY_BRACE,
- CHAR_LEFT_SQUARE_BRACKET,
- CHAR_RIGHT_SQUARE_BRACKET,
- CHAR_DOUBLE_QUOTE,
- CHAR_SINGLE_QUOTE,
- CHAR_NO_BREAK_SPACE,
- CHAR_ZERO_WIDTH_NOBREAK_SPACE
- } = require_constants();
- var parse = (input, options = {}) => {
- if (typeof input !== "string") {
- throw new TypeError("Expected a string");
- }
- let opts = options || {};
- let max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
- if (input.length > max) {
- throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);
- }
- let ast = {
- type: "root",
- input,
- nodes: []
- };
- let stack = [ast];
- let block = ast;
- let prev = ast;
- let brackets = 0;
- let length = input.length;
- let index = 0;
- let depth = 0;
- let value;
- let memo = {};
- const advance = () => input[index++];
- const push = (node) => {
- if (node.type === "text" && prev.type === "dot") {
- prev.type = "text";
- }
- if (prev && prev.type === "text" && node.type === "text") {
- prev.value += node.value;
- return;
- }
- block.nodes.push(node);
- node.parent = block;
- node.prev = prev;
- prev = node;
- return node;
- };
- push({
- type: "bos"
- });
- while (index < length) {
- block = stack[stack.length - 1];
- value = advance();
- if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {
- continue;
- }
- if (value === CHAR_BACKSLASH) {
- push({
- type: "text",
- value: (options.keepEscaping ? value : "") + advance()
- });
- continue;
- }
- if (value === CHAR_RIGHT_SQUARE_BRACKET) {
- push({
- type: "text",
- value: "\\" + value
- });
- continue;
- }
- if (value === CHAR_LEFT_SQUARE_BRACKET) {
- brackets++;
- let closed = true;
- let next;
- while (index < length && (next = advance())) {
- value += next;
- if (next === CHAR_LEFT_SQUARE_BRACKET) {
- brackets++;
- continue;
- }
- if (next === CHAR_BACKSLASH) {
- value += advance();
- continue;
- }
- if (next === CHAR_RIGHT_SQUARE_BRACKET) {
- brackets--;
- if (brackets === 0) {
- break;
- }
- }
- }
- push({
- type: "text",
- value
- });
- continue;
- }
- if (value === CHAR_LEFT_PARENTHESES) {
- block = push({
- type: "paren",
- nodes: []
- });
- stack.push(block);
- push({
- type: "text",
- value
- });
- continue;
- }
- if (value === CHAR_RIGHT_PARENTHESES) {
- if (block.type !== "paren") {
- push({
- type: "text",
- value
- });
- continue;
- }
- block = stack.pop();
- push({
- type: "text",
- value
- });
- block = stack[stack.length - 1];
- continue;
- }
- if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {
- let open = value;
- let next;
- if (options.keepQuotes !== true) {
- value = "";
- }
- while (index < length && (next = advance())) {
- if (next === CHAR_BACKSLASH) {
- value += next + advance();
- continue;
- }
- if (next === open) {
- if (options.keepQuotes === true)
- value += next;
- break;
- }
- value += next;
- }
- push({
- type: "text",
- value
- });
- continue;
- }
- if (value === CHAR_LEFT_CURLY_BRACE) {
- depth++;
- let dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true;
- let brace = {
- type: "brace",
- open: true,
- close: false,
- dollar,
- depth,
- commas: 0,
- ranges: 0,
- nodes: []
- };
- block = push(brace);
- stack.push(block);
- push({
- type: "open",
- value
- });
- continue;
- }
- if (value === CHAR_RIGHT_CURLY_BRACE) {
- if (block.type !== "brace") {
- push({
- type: "text",
- value
- });
- continue;
- }
- let type = "close";
- block = stack.pop();
- block.close = true;
- push({
- type,
- value
- });
- depth--;
- block = stack[stack.length - 1];
- continue;
- }
- if (value === CHAR_COMMA && depth > 0) {
- if (block.ranges > 0) {
- block.ranges = 0;
- let open = block.nodes.shift();
- block.nodes = [open, {
- type: "text",
- value: stringify2(block)
- }];
- }
- push({
- type: "comma",
- value
- });
- block.commas++;
- continue;
- }
- if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
- let siblings = block.nodes;
- if (depth === 0 || siblings.length === 0) {
- push({
- type: "text",
- value
- });
- continue;
- }
- if (prev.type === "dot") {
- block.range = [];
- prev.value += value;
- prev.type = "range";
- if (block.nodes.length !== 3 && block.nodes.length !== 5) {
- block.invalid = true;
- block.ranges = 0;
- prev.type = "text";
- continue;
- }
- block.ranges++;
- block.args = [];
- continue;
- }
- if (prev.type === "range") {
- siblings.pop();
- let before = siblings[siblings.length - 1];
- before.value += prev.value + value;
- prev = before;
- block.ranges--;
- continue;
- }
- push({
- type: "dot",
- value
- });
- continue;
- }
- push({
- type: "text",
- value
- });
- }
- do {
- block = stack.pop();
- if (block.type !== "root") {
- block.nodes.forEach((node) => {
- if (!node.nodes) {
- if (node.type === "open")
- node.isOpen = true;
- if (node.type === "close")
- node.isClose = true;
- if (!node.nodes)
- node.type = "text";
- node.invalid = true;
- }
- });
- let parent = stack[stack.length - 1];
- let index2 = parent.nodes.indexOf(block);
- parent.nodes.splice(index2, 1, ...block.nodes);
- }
- } while (stack.length > 0);
- push({
- type: "eos"
- });
- return ast;
- };
- module2.exports = parse;
- }
-});
-var require_braces = __commonJS2({
- "node_modules/braces/index.js"(exports2, module2) {
- "use strict";
- var stringify2 = require_stringify();
- var compile = require_compile();
- var expand = require_expand();
- var parse = require_parse();
- var braces = (input, options = {}) => {
- let output = [];
- if (Array.isArray(input)) {
- for (let pattern of input) {
- let result = braces.create(pattern, options);
- if (Array.isArray(result)) {
- output.push(...result);
- } else {
- output.push(result);
- }
- }
- } else {
- output = [].concat(braces.create(input, options));
- }
- if (options && options.expand === true && options.nodupes === true) {
- output = [...new Set(output)];
- }
- return output;
- };
- braces.parse = (input, options = {}) => parse(input, options);
- braces.stringify = (input, options = {}) => {
- if (typeof input === "string") {
- return stringify2(braces.parse(input, options), options);
- }
- return stringify2(input, options);
- };
- braces.compile = (input, options = {}) => {
- if (typeof input === "string") {
- input = braces.parse(input, options);
- }
- return compile(input, options);
- };
- braces.expand = (input, options = {}) => {
- if (typeof input === "string") {
- input = braces.parse(input, options);
- }
- let result = expand(input, options);
- if (options.noempty === true) {
- result = result.filter(Boolean);
- }
- if (options.nodupes === true) {
- result = [...new Set(result)];
- }
- return result;
- };
- braces.create = (input, options = {}) => {
- if (input === "" || input.length < 3) {
- return [input];
- }
- return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options);
- };
- module2.exports = braces;
- }
-});
-var require_constants2 = __commonJS2({
- "node_modules/picomatch/lib/constants.js"(exports2, module2) {
- "use strict";
- var path = require("path");
- var WIN_SLASH = "\\\\/";
- var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
- var DOT_LITERAL = "\\.";
- var PLUS_LITERAL = "\\+";
- var QMARK_LITERAL = "\\?";
- var SLASH_LITERAL = "\\/";
- var ONE_CHAR = "(?=.)";
- var QMARK = "[^/]";
- var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
- var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
- var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
- var NO_DOT = `(?!${DOT_LITERAL})`;
- var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
- var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
- var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
- var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
- var STAR = `${QMARK}*?`;
- var POSIX_CHARS = {
- DOT_LITERAL,
- PLUS_LITERAL,
- QMARK_LITERAL,
- SLASH_LITERAL,
- ONE_CHAR,
- QMARK,
- END_ANCHOR,
- DOTS_SLASH,
- NO_DOT,
- NO_DOTS,
- NO_DOT_SLASH,
- NO_DOTS_SLASH,
- QMARK_NO_DOT,
- STAR,
- START_ANCHOR
- };
- var WINDOWS_CHARS = Object.assign(Object.assign({}, POSIX_CHARS), {}, {
- SLASH_LITERAL: `[${WIN_SLASH}]`,
- QMARK: WIN_NO_SLASH,
- STAR: `${WIN_NO_SLASH}*?`,
- DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
- NO_DOT: `(?!${DOT_LITERAL})`,
- NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
- NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
- NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
- QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
- START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
- END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
- });
- var POSIX_REGEX_SOURCE = {
- alnum: "a-zA-Z0-9",
- alpha: "a-zA-Z",
- ascii: "\\x00-\\x7F",
- blank: " \\t",
- cntrl: "\\x00-\\x1F\\x7F",
- digit: "0-9",
- graph: "\\x21-\\x7E",
- lower: "a-z",
- print: "\\x20-\\x7E ",
- punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
- space: " \\t\\r\\n\\v\\f",
- upper: "A-Z",
- word: "A-Za-z0-9_",
- xdigit: "A-Fa-f0-9"
- };
- module2.exports = {
- MAX_LENGTH: 1024 * 64,
- POSIX_REGEX_SOURCE,
- REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
- REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
- REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
- REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
- REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
- REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
- REPLACEMENTS: {
- "***": "*",
- "**/**": "**",
- "**/**/**": "**"
- },
- CHAR_0: 48,
- CHAR_9: 57,
- CHAR_UPPERCASE_A: 65,
- CHAR_LOWERCASE_A: 97,
- CHAR_UPPERCASE_Z: 90,
- CHAR_LOWERCASE_Z: 122,
- CHAR_LEFT_PARENTHESES: 40,
- CHAR_RIGHT_PARENTHESES: 41,
- CHAR_ASTERISK: 42,
- CHAR_AMPERSAND: 38,
- CHAR_AT: 64,
- CHAR_BACKWARD_SLASH: 92,
- CHAR_CARRIAGE_RETURN: 13,
- CHAR_CIRCUMFLEX_ACCENT: 94,
- CHAR_COLON: 58,
- CHAR_COMMA: 44,
- CHAR_DOT: 46,
- CHAR_DOUBLE_QUOTE: 34,
- CHAR_EQUAL: 61,
- CHAR_EXCLAMATION_MARK: 33,
- CHAR_FORM_FEED: 12,
- CHAR_FORWARD_SLASH: 47,
- CHAR_GRAVE_ACCENT: 96,
- CHAR_HASH: 35,
- CHAR_HYPHEN_MINUS: 45,
- CHAR_LEFT_ANGLE_BRACKET: 60,
- CHAR_LEFT_CURLY_BRACE: 123,
- CHAR_LEFT_SQUARE_BRACKET: 91,
- CHAR_LINE_FEED: 10,
- CHAR_NO_BREAK_SPACE: 160,
- CHAR_PERCENT: 37,
- CHAR_PLUS: 43,
- CHAR_QUESTION_MARK: 63,
- CHAR_RIGHT_ANGLE_BRACKET: 62,
- CHAR_RIGHT_CURLY_BRACE: 125,
- CHAR_RIGHT_SQUARE_BRACKET: 93,
- CHAR_SEMICOLON: 59,
- CHAR_SINGLE_QUOTE: 39,
- CHAR_SPACE: 32,
- CHAR_TAB: 9,
- CHAR_UNDERSCORE: 95,
- CHAR_VERTICAL_LINE: 124,
- CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
- SEP: path.sep,
- extglobChars(chars) {
- return {
- "!": {
- type: "negate",
- open: "(?:(?!(?:",
- close: `))${chars.STAR})`
- },
- "?": {
- type: "qmark",
- open: "(?:",
- close: ")?"
- },
- "+": {
- type: "plus",
- open: "(?:",
- close: ")+"
- },
- "*": {
- type: "star",
- open: "(?:",
- close: ")*"
- },
- "@": {
- type: "at",
- open: "(?:",
- close: ")"
- }
- };
- },
- globChars(win32) {
- return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
- }
- };
- }
-});
-var require_utils3 = __commonJS2({
- "node_modules/picomatch/lib/utils.js"(exports2) {
- "use strict";
- var path = require("path");
- var win32 = process.platform === "win32";
- var {
- REGEX_BACKSLASH,
- REGEX_REMOVE_BACKSLASH,
- REGEX_SPECIAL_CHARS,
- REGEX_SPECIAL_CHARS_GLOBAL
- } = require_constants2();
- exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
- exports2.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
- exports2.isRegexChar = (str) => str.length === 1 && exports2.hasRegexChars(str);
- exports2.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
- exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
- exports2.removeBackslashes = (str) => {
- return str.replace(REGEX_REMOVE_BACKSLASH, (match) => {
- return match === "\\" ? "" : match;
- });
- };
- exports2.supportsLookbehinds = () => {
- const segs = process.version.slice(1).split(".").map(Number);
- if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) {
- return true;
- }
- return false;
- };
- exports2.isWindows = (options) => {
- if (options && typeof options.windows === "boolean") {
- return options.windows;
- }
- return win32 === true || path.sep === "\\";
- };
- exports2.escapeLast = (input, char, lastIdx) => {
- const idx = input.lastIndexOf(char, lastIdx);
- if (idx === -1)
- return input;
- if (input[idx - 1] === "\\")
- return exports2.escapeLast(input, char, idx - 1);
- return `${input.slice(0, idx)}\\${input.slice(idx)}`;
- };
- exports2.removePrefix = (input, state = {}) => {
- let output = input;
- if (output.startsWith("./")) {
- output = output.slice(2);
- state.prefix = "./";
- }
- return output;
- };
- exports2.wrapOutput = (input, state = {}, options = {}) => {
- const prepend = options.contains ? "" : "^";
- const append = options.contains ? "" : "$";
- let output = `${prepend}(?:${input})${append}`;
- if (state.negated === true) {
- output = `(?:^(?!${output}).*$)`;
- }
- return output;
- };
- }
-});
-var require_scan = __commonJS2({
- "node_modules/picomatch/lib/scan.js"(exports2, module2) {
- "use strict";
- var utils = require_utils3();
- var {
- CHAR_ASTERISK,
- CHAR_AT,
- CHAR_BACKWARD_SLASH,
- CHAR_COMMA,
- CHAR_DOT,
- CHAR_EXCLAMATION_MARK,
- CHAR_FORWARD_SLASH,
- CHAR_LEFT_CURLY_BRACE,
- CHAR_LEFT_PARENTHESES,
- CHAR_LEFT_SQUARE_BRACKET,
- CHAR_PLUS,
- CHAR_QUESTION_MARK,
- CHAR_RIGHT_CURLY_BRACE,
- CHAR_RIGHT_PARENTHESES,
- CHAR_RIGHT_SQUARE_BRACKET
- } = require_constants2();
- var isPathSeparator = (code) => {
- return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
- };
- var depth = (token) => {
- if (token.isPrefix !== true) {
- token.depth = token.isGlobstar ? Infinity : 1;
- }
- };
- var scan = (input, options) => {
- const opts = options || {};
- const length = input.length - 1;
- const scanToEnd = opts.parts === true || opts.scanToEnd === true;
- const slashes = [];
- const tokens = [];
- const parts = [];
- let str = input;
- let index = -1;
- let start = 0;
- let lastIndex = 0;
- let isBrace = false;
- let isBracket = false;
- let isGlob = false;
- let isExtglob = false;
- let isGlobstar = false;
- let braceEscaped = false;
- let backslashes = false;
- let negated = false;
- let negatedExtglob = false;
- let finished = false;
- let braces = 0;
- let prev;
- let code;
- let token = {
- value: "",
- depth: 0,
- isGlob: false
- };
- const eos = () => index >= length;
- const peek = () => str.charCodeAt(index + 1);
- const advance = () => {
- prev = code;
- return str.charCodeAt(++index);
- };
- while (index < length) {
- code = advance();
- let next;
- if (code === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- code = advance();
- if (code === CHAR_LEFT_CURLY_BRACE) {
- braceEscaped = true;
- }
- continue;
- }
- if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
- braces++;
- while (eos() !== true && (code = advance())) {
- if (code === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- advance();
- continue;
- }
- if (code === CHAR_LEFT_CURLY_BRACE) {
- braces++;
- continue;
- }
- if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
- isBrace = token.isBrace = true;
- isGlob = token.isGlob = true;
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (braceEscaped !== true && code === CHAR_COMMA) {
- isBrace = token.isBrace = true;
- isGlob = token.isGlob = true;
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (code === CHAR_RIGHT_CURLY_BRACE) {
- braces--;
- if (braces === 0) {
- braceEscaped = false;
- isBrace = token.isBrace = true;
- finished = true;
- break;
- }
- }
- }
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (code === CHAR_FORWARD_SLASH) {
- slashes.push(index);
- tokens.push(token);
- token = {
- value: "",
- depth: 0,
- isGlob: false
- };
- if (finished === true)
- continue;
- if (prev === CHAR_DOT && index === start + 1) {
- start += 2;
- continue;
- }
- lastIndex = index + 1;
- continue;
- }
- if (opts.noext !== true) {
- const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
- if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
- isGlob = token.isGlob = true;
- isExtglob = token.isExtglob = true;
- finished = true;
- if (code === CHAR_EXCLAMATION_MARK && index === start) {
- negatedExtglob = true;
- }
- if (scanToEnd === true) {
- while (eos() !== true && (code = advance())) {
- if (code === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- code = advance();
- continue;
- }
- if (code === CHAR_RIGHT_PARENTHESES) {
- isGlob = token.isGlob = true;
- finished = true;
- break;
- }
- }
- continue;
- }
- break;
- }
- }
- if (code === CHAR_ASTERISK) {
- if (prev === CHAR_ASTERISK)
- isGlobstar = token.isGlobstar = true;
- isGlob = token.isGlob = true;
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (code === CHAR_QUESTION_MARK) {
- isGlob = token.isGlob = true;
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (code === CHAR_LEFT_SQUARE_BRACKET) {
- while (eos() !== true && (next = advance())) {
- if (next === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- advance();
- continue;
- }
- if (next === CHAR_RIGHT_SQUARE_BRACKET) {
- isBracket = token.isBracket = true;
- isGlob = token.isGlob = true;
- finished = true;
- break;
- }
- }
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
- negated = token.negated = true;
- start++;
- continue;
- }
- if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
- isGlob = token.isGlob = true;
- if (scanToEnd === true) {
- while (eos() !== true && (code = advance())) {
- if (code === CHAR_LEFT_PARENTHESES) {
- backslashes = token.backslashes = true;
- code = advance();
- continue;
- }
- if (code === CHAR_RIGHT_PARENTHESES) {
- finished = true;
- break;
- }
- }
- continue;
- }
- break;
- }
- if (isGlob === true) {
- finished = true;
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
- }
- if (opts.noext === true) {
- isExtglob = false;
- isGlob = false;
- }
- let base = str;
- let prefix = "";
- let glob = "";
- if (start > 0) {
- prefix = str.slice(0, start);
- str = str.slice(start);
- lastIndex -= start;
- }
- if (base && isGlob === true && lastIndex > 0) {
- base = str.slice(0, lastIndex);
- glob = str.slice(lastIndex);
- } else if (isGlob === true) {
- base = "";
- glob = str;
- } else {
- base = str;
- }
- if (base && base !== "" && base !== "/" && base !== str) {
- if (isPathSeparator(base.charCodeAt(base.length - 1))) {
- base = base.slice(0, -1);
- }
- }
- if (opts.unescape === true) {
- if (glob)
- glob = utils.removeBackslashes(glob);
- if (base && backslashes === true) {
- base = utils.removeBackslashes(base);
- }
- }
- const state = {
- prefix,
- input,
- start,
- base,
- glob,
- isBrace,
- isBracket,
- isGlob,
- isExtglob,
- isGlobstar,
- negated,
- negatedExtglob
- };
- if (opts.tokens === true) {
- state.maxDepth = 0;
- if (!isPathSeparator(code)) {
- tokens.push(token);
- }
- state.tokens = tokens;
- }
- if (opts.parts === true || opts.tokens === true) {
- let prevIndex;
- for (let idx = 0; idx < slashes.length; idx++) {
- const n = prevIndex ? prevIndex + 1 : start;
- const i = slashes[idx];
- const value = input.slice(n, i);
- if (opts.tokens) {
- if (idx === 0 && start !== 0) {
- tokens[idx].isPrefix = true;
- tokens[idx].value = prefix;
- } else {
- tokens[idx].value = value;
- }
- depth(tokens[idx]);
- state.maxDepth += tokens[idx].depth;
- }
- if (idx !== 0 || value !== "") {
- parts.push(value);
- }
- prevIndex = i;
- }
- if (prevIndex && prevIndex + 1 < input.length) {
- const value = input.slice(prevIndex + 1);
- parts.push(value);
- if (opts.tokens) {
- tokens[tokens.length - 1].value = value;
- depth(tokens[tokens.length - 1]);
- state.maxDepth += tokens[tokens.length - 1].depth;
- }
- }
- state.slashes = slashes;
- state.parts = parts;
- }
- return state;
- };
- module2.exports = scan;
- }
-});
-var require_parse2 = __commonJS2({
- "node_modules/picomatch/lib/parse.js"(exports2, module2) {
- "use strict";
- var constants = require_constants2();
- var utils = require_utils3();
- var {
- MAX_LENGTH,
- POSIX_REGEX_SOURCE,
- REGEX_NON_SPECIAL_CHARS,
- REGEX_SPECIAL_CHARS_BACKREF,
- REPLACEMENTS
- } = constants;
- var expandRange = (args, options) => {
- if (typeof options.expandRange === "function") {
- return options.expandRange(...args, options);
- }
- args.sort();
- const value = `[${args.join("-")}]`;
- try {
- new RegExp(value);
- } catch (ex) {
- return args.map((v) => utils.escapeRegex(v)).join("..");
- }
- return value;
- };
- var syntaxError = (type, char) => {
- return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
- };
- var parse = (input, options) => {
- if (typeof input !== "string") {
- throw new TypeError("Expected a string");
- }
- input = REPLACEMENTS[input] || input;
- const opts = Object.assign({}, options);
- const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
- let len = input.length;
- if (len > max) {
- throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
- }
- const bos = {
- type: "bos",
- value: "",
- output: opts.prepend || ""
- };
- const tokens = [bos];
- const capture = opts.capture ? "" : "?:";
- const win32 = utils.isWindows(options);
- const PLATFORM_CHARS = constants.globChars(win32);
- const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
- const {
- DOT_LITERAL,
- PLUS_LITERAL,
- SLASH_LITERAL,
- ONE_CHAR,
- DOTS_SLASH,
- NO_DOT,
- NO_DOT_SLASH,
- NO_DOTS_SLASH,
- QMARK,
- QMARK_NO_DOT,
- STAR,
- START_ANCHOR
- } = PLATFORM_CHARS;
- const globstar = (opts2) => {
- return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
- };
- const nodot = opts.dot ? "" : NO_DOT;
- const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
- let star = opts.bash === true ? globstar(opts) : STAR;
- if (opts.capture) {
- star = `(${star})`;
- }
- if (typeof opts.noext === "boolean") {
- opts.noextglob = opts.noext;
- }
- const state = {
- input,
- index: -1,
- start: 0,
- dot: opts.dot === true,
- consumed: "",
- output: "",
- prefix: "",
- backtrack: false,
- negated: false,
- brackets: 0,
- braces: 0,
- parens: 0,
- quotes: 0,
- globstar: false,
- tokens
- };
- input = utils.removePrefix(input, state);
- len = input.length;
- const extglobs = [];
- const braces = [];
- const stack = [];
- let prev = bos;
- let value;
- const eos = () => state.index === len - 1;
- const peek = state.peek = (n = 1) => input[state.index + n];
- const advance = state.advance = () => input[++state.index] || "";
- const remaining = () => input.slice(state.index + 1);
- const consume = (value2 = "", num = 0) => {
- state.consumed += value2;
- state.index += num;
- };
- const append = (token) => {
- state.output += token.output != null ? token.output : token.value;
- consume(token.value);
- };
- const negate = () => {
- let count = 1;
- while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
- advance();
- state.start++;
- count++;
- }
- if (count % 2 === 0) {
- return false;
- }
- state.negated = true;
- state.start++;
- return true;
- };
- const increment = (type) => {
- state[type]++;
- stack.push(type);
- };
- const decrement = (type) => {
- state[type]--;
- stack.pop();
- };
- const push = (tok) => {
- if (prev.type === "globstar") {
- const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
- const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
- if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
- state.output = state.output.slice(0, -prev.output.length);
- prev.type = "star";
- prev.value = "*";
- prev.output = star;
- state.output += prev.output;
- }
- }
- if (extglobs.length && tok.type !== "paren") {
- extglobs[extglobs.length - 1].inner += tok.value;
- }
- if (tok.value || tok.output)
- append(tok);
- if (prev && prev.type === "text" && tok.type === "text") {
- prev.value += tok.value;
- prev.output = (prev.output || "") + tok.value;
- return;
- }
- tok.prev = prev;
- tokens.push(tok);
- prev = tok;
- };
- const extglobOpen = (type, value2) => {
- const token = Object.assign(Object.assign({}, EXTGLOB_CHARS[value2]), {}, {
- conditions: 1,
- inner: ""
- });
- token.prev = prev;
- token.parens = state.parens;
- token.output = state.output;
- const output = (opts.capture ? "(" : "") + token.open;
- increment("parens");
- push({
- type,
- value: value2,
- output: state.output ? "" : ONE_CHAR
- });
- push({
- type: "paren",
- extglob: true,
- value: advance(),
- output
- });
- extglobs.push(token);
- };
- const extglobClose = (token) => {
- let output = token.close + (opts.capture ? ")" : "");
- let rest;
- if (token.type === "negate") {
- let extglobStar = star;
- if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
- extglobStar = globstar(opts);
- }
- if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
- output = token.close = `)$))${extglobStar}`;
- }
- if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
- const expression = parse(rest, Object.assign(Object.assign({}, options), {}, {
- fastpaths: false
- })).output;
- output = token.close = `)${expression})${extglobStar})`;
- }
- if (token.prev.type === "bos") {
- state.negatedExtglob = true;
- }
- }
- push({
- type: "paren",
- extglob: true,
- value,
- output
- });
- decrement("parens");
- };
- if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
- let backslashes = false;
- let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {
- if (first === "\\") {
- backslashes = true;
- return m;
- }
- if (first === "?") {
- if (esc) {
- return esc + first + (rest ? QMARK.repeat(rest.length) : "");
- }
- if (index === 0) {
- return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "");
- }
- return QMARK.repeat(chars.length);
- }
- if (first === ".") {
- return DOT_LITERAL.repeat(chars.length);
- }
- if (first === "*") {
- if (esc) {
- return esc + first + (rest ? star : "");
- }
- return star;
- }
- return esc ? m : `\\${m}`;
- });
- if (backslashes === true) {
- if (opts.unescape === true) {
- output = output.replace(/\\/g, "");
- } else {
- output = output.replace(/\\+/g, (m) => {
- return m.length % 2 === 0 ? "\\\\" : m ? "\\" : "";
- });
- }
- }
- if (output === input && opts.contains === true) {
- state.output = input;
- return state;
- }
- state.output = utils.wrapOutput(output, state, options);
- return state;
- }
- while (!eos()) {
- value = advance();
- if (value === "\0") {
- continue;
- }
- if (value === "\\") {
- const next = peek();
- if (next === "/" && opts.bash !== true) {
- continue;
- }
- if (next === "." || next === ";") {
- continue;
- }
- if (!next) {
- value += "\\";
- push({
- type: "text",
- value
- });
- continue;
- }
- const match = /^\\+/.exec(remaining());
- let slashes = 0;
- if (match && match[0].length > 2) {
- slashes = match[0].length;
- state.index += slashes;
- if (slashes % 2 !== 0) {
- value += "\\";
- }
- }
- if (opts.unescape === true) {
- value = advance();
- } else {
- value += advance();
- }
- if (state.brackets === 0) {
- push({
- type: "text",
- value
- });
- continue;
- }
- }
- if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
- if (opts.posix !== false && value === ":") {
- const inner = prev.value.slice(1);
- if (inner.includes("[")) {
- prev.posix = true;
- if (inner.includes(":")) {
- const idx = prev.value.lastIndexOf("[");
- const pre = prev.value.slice(0, idx);
- const rest2 = prev.value.slice(idx + 2);
- const posix = POSIX_REGEX_SOURCE[rest2];
- if (posix) {
- prev.value = pre + posix;
- state.backtrack = true;
- advance();
- if (!bos.output && tokens.indexOf(prev) === 1) {
- bos.output = ONE_CHAR;
- }
- continue;
- }
- }
- }
- }
- if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") {
- value = `\\${value}`;
- }
- if (value === "]" && (prev.value === "[" || prev.value === "[^")) {
- value = `\\${value}`;
- }
- if (opts.posix === true && value === "!" && prev.value === "[") {
- value = "^";
- }
- prev.value += value;
- append({
- value
- });
- continue;
- }
- if (state.quotes === 1 && value !== '"') {
- value = utils.escapeRegex(value);
- prev.value += value;
- append({
- value
- });
- continue;
- }
- if (value === '"') {
- state.quotes = state.quotes === 1 ? 0 : 1;
- if (opts.keepQuotes === true) {
- push({
- type: "text",
- value
- });
- }
- continue;
- }
- if (value === "(") {
- increment("parens");
- push({
- type: "paren",
- value
- });
- continue;
- }
- if (value === ")") {
- if (state.parens === 0 && opts.strictBrackets === true) {
- throw new SyntaxError(syntaxError("opening", "("));
- }
- const extglob = extglobs[extglobs.length - 1];
- if (extglob && state.parens === extglob.parens + 1) {
- extglobClose(extglobs.pop());
- continue;
- }
- push({
- type: "paren",
- value,
- output: state.parens ? ")" : "\\)"
- });
- decrement("parens");
- continue;
- }
- if (value === "[") {
- if (opts.nobracket === true || !remaining().includes("]")) {
- if (opts.nobracket !== true && opts.strictBrackets === true) {
- throw new SyntaxError(syntaxError("closing", "]"));
- }
- value = `\\${value}`;
- } else {
- increment("brackets");
- }
- push({
- type: "bracket",
- value
- });
- continue;
- }
- if (value === "]") {
- if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
- push({
- type: "text",
- value,
- output: `\\${value}`
- });
- continue;
- }
- if (state.brackets === 0) {
- if (opts.strictBrackets === true) {
- throw new SyntaxError(syntaxError("opening", "["));
- }
- push({
- type: "text",
- value,
- output: `\\${value}`
- });
- continue;
- }
- decrement("brackets");
- const prevValue = prev.value.slice(1);
- if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) {
- value = `/${value}`;
- }
- prev.value += value;
- append({
- value
- });
- if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {
- continue;
- }
- const escaped = utils.escapeRegex(prev.value);
- state.output = state.output.slice(0, -prev.value.length);
- if (opts.literalBrackets === true) {
- state.output += escaped;
- prev.value = escaped;
- continue;
- }
- prev.value = `(${capture}${escaped}|${prev.value})`;
- state.output += prev.value;
- continue;
- }
- if (value === "{" && opts.nobrace !== true) {
- increment("braces");
- const open = {
- type: "brace",
- value,
- output: "(",
- outputIndex: state.output.length,
- tokensIndex: state.tokens.length
- };
- braces.push(open);
- push(open);
- continue;
- }
- if (value === "}") {
- const brace = braces[braces.length - 1];
- if (opts.nobrace === true || !brace) {
- push({
- type: "text",
- value,
- output: value
- });
- continue;
- }
- let output = ")";
- if (brace.dots === true) {
- const arr = tokens.slice();
- const range = [];
- for (let i = arr.length - 1; i >= 0; i--) {
- tokens.pop();
- if (arr[i].type === "brace") {
- break;
- }
- if (arr[i].type !== "dots") {
- range.unshift(arr[i].value);
- }
- }
- output = expandRange(range, opts);
- state.backtrack = true;
- }
- if (brace.comma !== true && brace.dots !== true) {
- const out = state.output.slice(0, brace.outputIndex);
- const toks = state.tokens.slice(brace.tokensIndex);
- brace.value = brace.output = "\\{";
- value = output = "\\}";
- state.output = out;
- for (const t of toks) {
- state.output += t.output || t.value;
- }
- }
- push({
- type: "brace",
- value,
- output
- });
- decrement("braces");
- braces.pop();
- continue;
- }
- if (value === "|") {
- if (extglobs.length > 0) {
- extglobs[extglobs.length - 1].conditions++;
- }
- push({
- type: "text",
- value
- });
- continue;
- }
- if (value === ",") {
- let output = value;
- const brace = braces[braces.length - 1];
- if (brace && stack[stack.length - 1] === "braces") {
- brace.comma = true;
- output = "|";
- }
- push({
- type: "comma",
- value,
- output
- });
- continue;
- }
- if (value === "/") {
- if (prev.type === "dot" && state.index === state.start + 1) {
- state.start = state.index + 1;
- state.consumed = "";
- state.output = "";
- tokens.pop();
- prev = bos;
- continue;
- }
- push({
- type: "slash",
- value,
- output: SLASH_LITERAL
- });
- continue;
- }
- if (value === ".") {
- if (state.braces > 0 && prev.type === "dot") {
- if (prev.value === ".")
- prev.output = DOT_LITERAL;
- const brace = braces[braces.length - 1];
- prev.type = "dots";
- prev.output += value;
- prev.value += value;
- brace.dots = true;
- continue;
- }
- if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
- push({
- type: "text",
- value,
- output: DOT_LITERAL
- });
- continue;
- }
- push({
- type: "dot",
- value,
- output: DOT_LITERAL
- });
- continue;
- }
- if (value === "?") {
- const isGroup = prev && prev.value === "(";
- if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
- extglobOpen("qmark", value);
- continue;
- }
- if (prev && prev.type === "paren") {
- const next = peek();
- let output = value;
- if (next === "<" && !utils.supportsLookbehinds()) {
- throw new Error("Node.js v10 or higher is required for regex lookbehinds");
- }
- if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) {
- output = `\\${value}`;
- }
- push({
- type: "text",
- value,
- output
- });
- continue;
- }
- if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
- push({
- type: "qmark",
- value,
- output: QMARK_NO_DOT
- });
- continue;
- }
- push({
- type: "qmark",
- value,
- output: QMARK
- });
- continue;
- }
- if (value === "!") {
- if (opts.noextglob !== true && peek() === "(") {
- if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
- extglobOpen("negate", value);
- continue;
- }
- }
- if (opts.nonegate !== true && state.index === 0) {
- negate();
- continue;
- }
- }
- if (value === "+") {
- if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
- extglobOpen("plus", value);
- continue;
- }
- if (prev && prev.value === "(" || opts.regex === false) {
- push({
- type: "plus",
- value,
- output: PLUS_LITERAL
- });
- continue;
- }
- if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
- push({
- type: "plus",
- value
- });
- continue;
- }
- push({
- type: "plus",
- value: PLUS_LITERAL
- });
- continue;
- }
- if (value === "@") {
- if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
- push({
- type: "at",
- extglob: true,
- value,
- output: ""
- });
- continue;
- }
- push({
- type: "text",
- value
- });
- continue;
- }
- if (value !== "*") {
- if (value === "$" || value === "^") {
- value = `\\${value}`;
- }
- const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
- if (match) {
- value += match[0];
- state.index += match[0].length;
- }
- push({
- type: "text",
- value
- });
- continue;
- }
- if (prev && (prev.type === "globstar" || prev.star === true)) {
- prev.type = "star";
- prev.star = true;
- prev.value += value;
- prev.output = star;
- state.backtrack = true;
- state.globstar = true;
- consume(value);
- continue;
- }
- let rest = remaining();
- if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
- extglobOpen("star", value);
- continue;
- }
- if (prev.type === "star") {
- if (opts.noglobstar === true) {
- consume(value);
- continue;
- }
- const prior = prev.prev;
- const before = prior.prev;
- const isStart = prior.type === "slash" || prior.type === "bos";
- const afterStar = before && (before.type === "star" || before.type === "globstar");
- if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
- push({
- type: "star",
- value,
- output: ""
- });
- continue;
- }
- const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
- const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
- if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
- push({
- type: "star",
- value,
- output: ""
- });
- continue;
- }
- while (rest.slice(0, 3) === "/**") {
- const after = input[state.index + 4];
- if (after && after !== "/") {
- break;
- }
- rest = rest.slice(3);
- consume("/**", 3);
- }
- if (prior.type === "bos" && eos()) {
- prev.type = "globstar";
- prev.value += value;
- prev.output = globstar(opts);
- state.output = prev.output;
- state.globstar = true;
- consume(value);
- continue;
- }
- if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
- state.output = state.output.slice(0, -(prior.output + prev.output).length);
- prior.output = `(?:${prior.output}`;
- prev.type = "globstar";
- prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
- prev.value += value;
- state.globstar = true;
- state.output += prior.output + prev.output;
- consume(value);
- continue;
- }
- if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
- const end = rest[1] !== void 0 ? "|$" : "";
- state.output = state.output.slice(0, -(prior.output + prev.output).length);
- prior.output = `(?:${prior.output}`;
- prev.type = "globstar";
- prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
- prev.value += value;
- state.output += prior.output + prev.output;
- state.globstar = true;
- consume(value + advance());
- push({
- type: "slash",
- value: "/",
- output: ""
- });
- continue;
- }
- if (prior.type === "bos" && rest[0] === "/") {
- prev.type = "globstar";
- prev.value += value;
- prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
- state.output = prev.output;
- state.globstar = true;
- consume(value + advance());
- push({
- type: "slash",
- value: "/",
- output: ""
- });
- continue;
- }
- state.output = state.output.slice(0, -prev.output.length);
- prev.type = "globstar";
- prev.output = globstar(opts);
- prev.value += value;
- state.output += prev.output;
- state.globstar = true;
- consume(value);
- continue;
- }
- const token = {
- type: "star",
- value,
- output: star
- };
- if (opts.bash === true) {
- token.output = ".*?";
- if (prev.type === "bos" || prev.type === "slash") {
- token.output = nodot + token.output;
- }
- push(token);
- continue;
- }
- if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
- token.output = value;
- push(token);
- continue;
- }
- if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
- if (prev.type === "dot") {
- state.output += NO_DOT_SLASH;
- prev.output += NO_DOT_SLASH;
- } else if (opts.dot === true) {
- state.output += NO_DOTS_SLASH;
- prev.output += NO_DOTS_SLASH;
- } else {
- state.output += nodot;
- prev.output += nodot;
- }
- if (peek() !== "*") {
- state.output += ONE_CHAR;
- prev.output += ONE_CHAR;
- }
- }
- push(token);
- }
- while (state.brackets > 0) {
- if (opts.strictBrackets === true)
- throw new SyntaxError(syntaxError("closing", "]"));
- state.output = utils.escapeLast(state.output, "[");
- decrement("brackets");
- }
- while (state.parens > 0) {
- if (opts.strictBrackets === true)
- throw new SyntaxError(syntaxError("closing", ")"));
- state.output = utils.escapeLast(state.output, "(");
- decrement("parens");
- }
- while (state.braces > 0) {
- if (opts.strictBrackets === true)
- throw new SyntaxError(syntaxError("closing", "}"));
- state.output = utils.escapeLast(state.output, "{");
- decrement("braces");
- }
- if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
- push({
- type: "maybe_slash",
- value: "",
- output: `${SLASH_LITERAL}?`
- });
- }
- if (state.backtrack === true) {
- state.output = "";
- for (const token of state.tokens) {
- state.output += token.output != null ? token.output : token.value;
- if (token.suffix) {
- state.output += token.suffix;
- }
- }
- }
- return state;
- };
- parse.fastpaths = (input, options) => {
- const opts = Object.assign({}, options);
- const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
- const len = input.length;
- if (len > max) {
- throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
- }
- input = REPLACEMENTS[input] || input;
- const win32 = utils.isWindows(options);
- const {
- DOT_LITERAL,
- SLASH_LITERAL,
- ONE_CHAR,
- DOTS_SLASH,
- NO_DOT,
- NO_DOTS,
- NO_DOTS_SLASH,
- STAR,
- START_ANCHOR
- } = constants.globChars(win32);
- const nodot = opts.dot ? NO_DOTS : NO_DOT;
- const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
- const capture = opts.capture ? "" : "?:";
- const state = {
- negated: false,
- prefix: ""
- };
- let star = opts.bash === true ? ".*?" : STAR;
- if (opts.capture) {
- star = `(${star})`;
- }
- const globstar = (opts2) => {
- if (opts2.noglobstar === true)
- return star;
- return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
- };
- const create = (str) => {
- switch (str) {
- case "*":
- return `${nodot}${ONE_CHAR}${star}`;
- case ".*":
- return `${DOT_LITERAL}${ONE_CHAR}${star}`;
- case "*.*":
- return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
- case "*/*":
- return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
- case "**":
- return nodot + globstar(opts);
- case "**/*":
- return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
- case "**/*.*":
- return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
- case "**/.*":
- return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
- default: {
- const match = /^(.*?)\.(\w+)$/.exec(str);
- if (!match)
- return;
- const source2 = create(match[1]);
- if (!source2)
- return;
- return source2 + DOT_LITERAL + match[2];
- }
- }
- };
- const output = utils.removePrefix(input, state);
- let source = create(output);
- if (source && opts.strictSlashes !== true) {
- source += `${SLASH_LITERAL}?`;
- }
- return source;
- };
- module2.exports = parse;
- }
-});
-var require_picomatch = __commonJS2({
- "node_modules/picomatch/lib/picomatch.js"(exports2, module2) {
- "use strict";
- var path = require("path");
- var scan = require_scan();
- var parse = require_parse2();
- var utils = require_utils3();
- var constants = require_constants2();
- var isObject = (val) => val && typeof val === "object" && !Array.isArray(val);
- var picomatch = (glob, options, returnState = false) => {
- if (Array.isArray(glob)) {
- const fns = glob.map((input) => picomatch(input, options, returnState));
- const arrayMatcher = (str) => {
- for (const isMatch of fns) {
- const state2 = isMatch(str);
- if (state2)
- return state2;
- }
- return false;
- };
- return arrayMatcher;
- }
- const isState = isObject(glob) && glob.tokens && glob.input;
- if (glob === "" || typeof glob !== "string" && !isState) {
- throw new TypeError("Expected pattern to be a non-empty string");
- }
- const opts = options || {};
- const posix = utils.isWindows(options);
- const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
- const state = regex.state;
- delete regex.state;
- let isIgnored = () => false;
- if (opts.ignore) {
- const ignoreOpts = Object.assign(Object.assign({}, options), {}, {
- ignore: null,
- onMatch: null,
- onResult: null
- });
- isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
- }
- const matcher = (input, returnObject = false) => {
- const {
- isMatch,
- match,
- output
- } = picomatch.test(input, regex, options, {
- glob,
- posix
- });
- const result = {
- glob,
- state,
- regex,
- posix,
- input,
- output,
- match,
- isMatch
- };
- if (typeof opts.onResult === "function") {
- opts.onResult(result);
- }
- if (isMatch === false) {
- result.isMatch = false;
- return returnObject ? result : false;
- }
- if (isIgnored(input)) {
- if (typeof opts.onIgnore === "function") {
- opts.onIgnore(result);
- }
- result.isMatch = false;
- return returnObject ? result : false;
- }
- if (typeof opts.onMatch === "function") {
- opts.onMatch(result);
- }
- return returnObject ? result : true;
- };
- if (returnState) {
- matcher.state = state;
- }
- return matcher;
- };
- picomatch.test = (input, regex, options, {
- glob,
- posix
- } = {}) => {
- if (typeof input !== "string") {
- throw new TypeError("Expected input to be a string");
- }
- if (input === "") {
- return {
- isMatch: false,
- output: ""
- };
- }
- const opts = options || {};
- const format = opts.format || (posix ? utils.toPosixSlashes : null);
- let match = input === glob;
- let output = match && format ? format(input) : input;
- if (match === false) {
- output = format ? format(input) : input;
- match = output === glob;
- }
- if (match === false || opts.capture === true) {
- if (opts.matchBase === true || opts.basename === true) {
- match = picomatch.matchBase(input, regex, options, posix);
- } else {
- match = regex.exec(output);
- }
- }
- return {
- isMatch: Boolean(match),
- match,
- output
- };
- };
- picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
- const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
- return regex.test(path.basename(input));
- };
- picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
- picomatch.parse = (pattern, options) => {
- if (Array.isArray(pattern))
- return pattern.map((p) => picomatch.parse(p, options));
- return parse(pattern, Object.assign(Object.assign({}, options), {}, {
- fastpaths: false
- }));
- };
- picomatch.scan = (input, options) => scan(input, options);
- picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {
- if (returnOutput === true) {
- return state.output;
- }
- const opts = options || {};
- const prepend = opts.contains ? "" : "^";
- const append = opts.contains ? "" : "$";
- let source = `${prepend}(?:${state.output})${append}`;
- if (state && state.negated === true) {
- source = `^(?!${source}).*$`;
- }
- const regex = picomatch.toRegex(source, options);
- if (returnState === true) {
- regex.state = state;
- }
- return regex;
- };
- picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
- if (!input || typeof input !== "string") {
- throw new TypeError("Expected a non-empty string");
- }
- let parsed = {
- negated: false,
- fastpaths: true
- };
- if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
- parsed.output = parse.fastpaths(input, options);
- }
- if (!parsed.output) {
- parsed = parse(input, options);
- }
- return picomatch.compileRe(parsed, options, returnOutput, returnState);
- };
- picomatch.toRegex = (source, options) => {
- try {
- const opts = options || {};
- return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
- } catch (err) {
- if (options && options.debug === true)
- throw err;
- return /$^/;
- }
- };
- picomatch.constants = constants;
- module2.exports = picomatch;
- }
-});
-var require_picomatch2 = __commonJS2({
- "node_modules/picomatch/index.js"(exports2, module2) {
- "use strict";
- module2.exports = require_picomatch();
- }
-});
-var require_micromatch = __commonJS2({
- "node_modules/micromatch/index.js"(exports2, module2) {
- "use strict";
- var util = require("util");
- var braces = require_braces();
- var picomatch = require_picomatch2();
- var utils = require_utils3();
- var isEmptyString = (val) => val === "" || val === "./";
- var micromatch = (list, patterns, options) => {
- patterns = [].concat(patterns);
- list = [].concat(list);
- let omit = /* @__PURE__ */ new Set();
- let keep = /* @__PURE__ */ new Set();
- let items = /* @__PURE__ */ new Set();
- let negatives = 0;
- let onResult = (state) => {
- items.add(state.output);
- if (options && options.onResult) {
- options.onResult(state);
- }
- };
- for (let i = 0; i < patterns.length; i++) {
- let isMatch = picomatch(String(patterns[i]), Object.assign(Object.assign({}, options), {}, {
- onResult
- }), true);
- let negated = isMatch.state.negated || isMatch.state.negatedExtglob;
- if (negated)
- negatives++;
- for (let item of list) {
- let matched = isMatch(item, true);
- let match = negated ? !matched.isMatch : matched.isMatch;
- if (!match)
- continue;
- if (negated) {
- omit.add(matched.output);
- } else {
- omit.delete(matched.output);
- keep.add(matched.output);
- }
- }
- }
- let result = negatives === patterns.length ? [...items] : [...keep];
- let matches = result.filter((item) => !omit.has(item));
- if (options && matches.length === 0) {
- if (options.failglob === true) {
- throw new Error(`No matches found for "${patterns.join(", ")}"`);
- }
- if (options.nonull === true || options.nullglob === true) {
- return options.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns;
- }
- }
- return matches;
- };
- micromatch.match = micromatch;
- micromatch.matcher = (pattern, options) => picomatch(pattern, options);
- micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
- micromatch.any = micromatch.isMatch;
- micromatch.not = (list, patterns, options = {}) => {
- patterns = [].concat(patterns).map(String);
- let result = /* @__PURE__ */ new Set();
- let items = [];
- let onResult = (state) => {
- if (options.onResult)
- options.onResult(state);
- items.push(state.output);
- };
- let matches = new Set(micromatch(list, patterns, Object.assign(Object.assign({}, options), {}, {
- onResult
- })));
- for (let item of items) {
- if (!matches.has(item)) {
- result.add(item);
- }
- }
- return [...result];
- };
- micromatch.contains = (str, pattern, options) => {
- if (typeof str !== "string") {
- throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
- }
- if (Array.isArray(pattern)) {
- return pattern.some((p) => micromatch.contains(str, p, options));
- }
- if (typeof pattern === "string") {
- if (isEmptyString(str) || isEmptyString(pattern)) {
- return false;
- }
- if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) {
- return true;
- }
- }
- return micromatch.isMatch(str, pattern, Object.assign(Object.assign({}, options), {}, {
- contains: true
- }));
- };
- micromatch.matchKeys = (obj, patterns, options) => {
- if (!utils.isObject(obj)) {
- throw new TypeError("Expected the first argument to be an object");
- }
- let keys = micromatch(Object.keys(obj), patterns, options);
- let res = {};
- for (let key of keys)
- res[key] = obj[key];
- return res;
- };
- micromatch.some = (list, patterns, options) => {
- let items = [].concat(list);
- for (let pattern of [].concat(patterns)) {
- let isMatch = picomatch(String(pattern), options);
- if (items.some((item) => isMatch(item))) {
- return true;
- }
- }
- return false;
- };
- micromatch.every = (list, patterns, options) => {
- let items = [].concat(list);
- for (let pattern of [].concat(patterns)) {
- let isMatch = picomatch(String(pattern), options);
- if (!items.every((item) => isMatch(item))) {
- return false;
- }
- }
- return true;
- };
- micromatch.all = (str, patterns, options) => {
- if (typeof str !== "string") {
- throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
- }
- return [].concat(patterns).every((p) => picomatch(p, options)(str));
- };
- micromatch.capture = (glob, input, options) => {
- let posix = utils.isWindows(options);
- let regex = picomatch.makeRe(String(glob), Object.assign(Object.assign({}, options), {}, {
- capture: true
- }));
- let match = regex.exec(posix ? utils.toPosixSlashes(input) : input);
- if (match) {
- return match.slice(1).map((v) => v === void 0 ? "" : v);
- }
- };
- micromatch.makeRe = (...args) => picomatch.makeRe(...args);
- micromatch.scan = (...args) => picomatch.scan(...args);
- micromatch.parse = (patterns, options) => {
- let res = [];
- for (let pattern of [].concat(patterns || [])) {
- for (let str of braces(String(pattern), options)) {
- res.push(picomatch.parse(str, options));
- }
- }
- return res;
- };
- micromatch.braces = (pattern, options) => {
- if (typeof pattern !== "string")
- throw new TypeError("Expected a string");
- if (options && options.nobrace === true || !/\{.*\}/.test(pattern)) {
- return [pattern];
- }
- return braces(pattern, options);
- };
- micromatch.braceExpand = (pattern, options) => {
- if (typeof pattern !== "string")
- throw new TypeError("Expected a string");
- return micromatch.braces(pattern, Object.assign(Object.assign({}, options), {}, {
- expand: true
- }));
- };
- module2.exports = micromatch;
- }
-});
-var require_pattern = __commonJS2({
- "node_modules/fast-glob/out/utils/pattern.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.matchAny = exports2.convertPatternsToRe = exports2.makeRe = exports2.getPatternParts = exports2.expandBraceExpansion = exports2.expandPatternsWithBraceExpansion = exports2.isAffectDepthOfReadingPattern = exports2.endsWithSlashGlobStar = exports2.hasGlobStar = exports2.getBaseDirectory = exports2.isPatternRelatedToParentDirectory = exports2.getPatternsOutsideCurrentDirectory = exports2.getPatternsInsideCurrentDirectory = exports2.getPositivePatterns = exports2.getNegativePatterns = exports2.isPositivePattern = exports2.isNegativePattern = exports2.convertToNegativePattern = exports2.convertToPositivePattern = exports2.isDynamicPattern = exports2.isStaticPattern = void 0;
- var path = require("path");
- var globParent = require_glob_parent();
- var micromatch = require_micromatch();
- var GLOBSTAR = "**";
- var ESCAPE_SYMBOL = "\\";
- var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;
- var REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/;
- var REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/;
- var GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/;
- var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./;
- function isStaticPattern(pattern, options = {}) {
- return !isDynamicPattern(pattern, options);
- }
- exports2.isStaticPattern = isStaticPattern;
- function isDynamicPattern(pattern, options = {}) {
- if (pattern === "") {
- return false;
- }
- if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) {
- return true;
- }
- if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) {
- return true;
- }
- if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) {
- return true;
- }
- if (options.braceExpansion !== false && hasBraceExpansion(pattern)) {
- return true;
- }
- return false;
- }
- exports2.isDynamicPattern = isDynamicPattern;
- function hasBraceExpansion(pattern) {
- const openingBraceIndex = pattern.indexOf("{");
- if (openingBraceIndex === -1) {
- return false;
- }
- const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1);
- if (closingBraceIndex === -1) {
- return false;
- }
- const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex);
- return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent);
- }
- function convertToPositivePattern(pattern) {
- return isNegativePattern(pattern) ? pattern.slice(1) : pattern;
- }
- exports2.convertToPositivePattern = convertToPositivePattern;
- function convertToNegativePattern(pattern) {
- return "!" + pattern;
- }
- exports2.convertToNegativePattern = convertToNegativePattern;
- function isNegativePattern(pattern) {
- return pattern.startsWith("!") && pattern[1] !== "(";
- }
- exports2.isNegativePattern = isNegativePattern;
- function isPositivePattern(pattern) {
- return !isNegativePattern(pattern);
- }
- exports2.isPositivePattern = isPositivePattern;
- function getNegativePatterns(patterns) {
- return patterns.filter(isNegativePattern);
- }
- exports2.getNegativePatterns = getNegativePatterns;
- function getPositivePatterns(patterns) {
- return patterns.filter(isPositivePattern);
- }
- exports2.getPositivePatterns = getPositivePatterns;
- function getPatternsInsideCurrentDirectory(patterns) {
- return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern));
- }
- exports2.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory;
- function getPatternsOutsideCurrentDirectory(patterns) {
- return patterns.filter(isPatternRelatedToParentDirectory);
- }
- exports2.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory;
- function isPatternRelatedToParentDirectory(pattern) {
- return pattern.startsWith("..") || pattern.startsWith("./..");
- }
- exports2.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory;
- function getBaseDirectory(pattern) {
- return globParent(pattern, {
- flipBackslashes: false
- });
- }
- exports2.getBaseDirectory = getBaseDirectory;
- function hasGlobStar(pattern) {
- return pattern.includes(GLOBSTAR);
- }
- exports2.hasGlobStar = hasGlobStar;
- function endsWithSlashGlobStar(pattern) {
- return pattern.endsWith("/" + GLOBSTAR);
- }
- exports2.endsWithSlashGlobStar = endsWithSlashGlobStar;
- function isAffectDepthOfReadingPattern(pattern) {
- const basename = path.basename(pattern);
- return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);
- }
- exports2.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
- function expandPatternsWithBraceExpansion(patterns) {
- return patterns.reduce((collection, pattern) => {
- return collection.concat(expandBraceExpansion(pattern));
- }, []);
- }
- exports2.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion;
- function expandBraceExpansion(pattern) {
- return micromatch.braces(pattern, {
- expand: true,
- nodupes: true
- });
- }
- exports2.expandBraceExpansion = expandBraceExpansion;
- function getPatternParts(pattern, options) {
- let {
- parts
- } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), {
- parts: true
- }));
- if (parts.length === 0) {
- parts = [pattern];
- }
- if (parts[0].startsWith("/")) {
- parts[0] = parts[0].slice(1);
- parts.unshift("");
- }
- return parts;
- }
- exports2.getPatternParts = getPatternParts;
- function makeRe(pattern, options) {
- return micromatch.makeRe(pattern, options);
- }
- exports2.makeRe = makeRe;
- function convertPatternsToRe(patterns, options) {
- return patterns.map((pattern) => makeRe(pattern, options));
- }
- exports2.convertPatternsToRe = convertPatternsToRe;
- function matchAny(entry, patternsRe) {
- return patternsRe.some((patternRe) => patternRe.test(entry));
- }
- exports2.matchAny = matchAny;
- }
-});
-var require_merge2 = __commonJS2({
- "node_modules/merge2/index.js"(exports2, module2) {
- "use strict";
- var Stream = require("stream");
- var PassThrough = Stream.PassThrough;
- var slice = Array.prototype.slice;
- module2.exports = merge2;
- function merge2() {
- const streamsQueue = [];
- const args = slice.call(arguments);
- let merging = false;
- let options = args[args.length - 1];
- if (options && !Array.isArray(options) && options.pipe == null) {
- args.pop();
- } else {
- options = {};
- }
- const doEnd = options.end !== false;
- const doPipeError = options.pipeError === true;
- if (options.objectMode == null) {
- options.objectMode = true;
- }
- if (options.highWaterMark == null) {
- options.highWaterMark = 64 * 1024;
- }
- const mergedStream = PassThrough(options);
- function addStream() {
- for (let i = 0, len = arguments.length; i < len; i++) {
- streamsQueue.push(pauseStreams(arguments[i], options));
- }
- mergeStream();
- return this;
- }
- function mergeStream() {
- if (merging) {
- return;
- }
- merging = true;
- let streams = streamsQueue.shift();
- if (!streams) {
- process.nextTick(endStream);
- return;
- }
- if (!Array.isArray(streams)) {
- streams = [streams];
- }
- let pipesCount = streams.length + 1;
- function next() {
- if (--pipesCount > 0) {
- return;
- }
- merging = false;
- mergeStream();
- }
- function pipe(stream) {
- function onend() {
- stream.removeListener("merge2UnpipeEnd", onend);
- stream.removeListener("end", onend);
- if (doPipeError) {
- stream.removeListener("error", onerror);
- }
- next();
- }
- function onerror(err) {
- mergedStream.emit("error", err);
- }
- if (stream._readableState.endEmitted) {
- return next();
- }
- stream.on("merge2UnpipeEnd", onend);
- stream.on("end", onend);
- if (doPipeError) {
- stream.on("error", onerror);
- }
- stream.pipe(mergedStream, {
- end: false
- });
- stream.resume();
- }
- for (let i = 0; i < streams.length; i++) {
- pipe(streams[i]);
- }
- next();
- }
- function endStream() {
- merging = false;
- mergedStream.emit("queueDrain");
- if (doEnd) {
- mergedStream.end();
- }
- }
- mergedStream.setMaxListeners(0);
- mergedStream.add = addStream;
- mergedStream.on("unpipe", function(stream) {
- stream.emit("merge2UnpipeEnd");
- });
- if (args.length) {
- addStream.apply(null, args);
- }
- return mergedStream;
- }
- function pauseStreams(streams, options) {
- if (!Array.isArray(streams)) {
- if (!streams._readableState && streams.pipe) {
- streams = streams.pipe(PassThrough(options));
- }
- if (!streams._readableState || !streams.pause || !streams.pipe) {
- throw new Error("Only readable stream can be merged.");
- }
- streams.pause();
- } else {
- for (let i = 0, len = streams.length; i < len; i++) {
- streams[i] = pauseStreams(streams[i], options);
- }
- }
- return streams;
- }
- }
-});
-var require_stream = __commonJS2({
- "node_modules/fast-glob/out/utils/stream.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.merge = void 0;
- var merge2 = require_merge2();
- function merge(streams) {
- const mergedStream = merge2(streams);
- streams.forEach((stream) => {
- stream.once("error", (error) => mergedStream.emit("error", error));
- });
- mergedStream.once("close", () => propagateCloseEventToSources(streams));
- mergedStream.once("end", () => propagateCloseEventToSources(streams));
- return mergedStream;
- }
- exports2.merge = merge;
- function propagateCloseEventToSources(streams) {
- streams.forEach((stream) => stream.emit("close"));
- }
- }
-});
-var require_string = __commonJS2({
- "node_modules/fast-glob/out/utils/string.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.isEmpty = exports2.isString = void 0;
- function isString(input) {
- return typeof input === "string";
- }
- exports2.isString = isString;
- function isEmpty(input) {
- return input === "";
- }
- exports2.isEmpty = isEmpty;
- }
-});
-var require_utils4 = __commonJS2({
- "node_modules/fast-glob/out/utils/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.string = exports2.stream = exports2.pattern = exports2.path = exports2.fs = exports2.errno = exports2.array = void 0;
- var array2 = require_array();
- exports2.array = array2;
- var errno = require_errno();
- exports2.errno = errno;
- var fs = require_fs();
- exports2.fs = fs;
- var path = require_path();
- exports2.path = path;
- var pattern = require_pattern();
- exports2.pattern = pattern;
- var stream = require_stream();
- exports2.stream = stream;
- var string = require_string();
- exports2.string = string;
- }
-});
-var require_tasks = __commonJS2({
- "node_modules/fast-glob/out/managers/tasks.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.convertPatternGroupToTask = exports2.convertPatternGroupsToTasks = exports2.groupPatternsByBaseDirectory = exports2.getNegativePatternsAsPositive = exports2.getPositivePatterns = exports2.convertPatternsToTasks = exports2.generate = void 0;
- var utils = require_utils4();
- function generate(patterns, settings) {
- const positivePatterns = getPositivePatterns(patterns);
- const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore);
- const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings));
- const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings));
- const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, false);
- const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, true);
- return staticTasks.concat(dynamicTasks);
- }
- exports2.generate = generate;
- function convertPatternsToTasks(positive, negative, dynamic) {
- const tasks = [];
- const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive);
- const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive);
- const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory);
- const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory);
- tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic));
- if ("." in insideCurrentDirectoryGroup) {
- tasks.push(convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic));
- } else {
- tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic));
- }
- return tasks;
- }
- exports2.convertPatternsToTasks = convertPatternsToTasks;
- function getPositivePatterns(patterns) {
- return utils.pattern.getPositivePatterns(patterns);
- }
- exports2.getPositivePatterns = getPositivePatterns;
- function getNegativePatternsAsPositive(patterns, ignore) {
- const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore);
- const positive = negative.map(utils.pattern.convertToPositivePattern);
- return positive;
- }
- exports2.getNegativePatternsAsPositive = getNegativePatternsAsPositive;
- function groupPatternsByBaseDirectory(patterns) {
- const group = {};
- return patterns.reduce((collection, pattern) => {
- const base = utils.pattern.getBaseDirectory(pattern);
- if (base in collection) {
- collection[base].push(pattern);
- } else {
- collection[base] = [pattern];
- }
- return collection;
- }, group);
- }
- exports2.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory;
- function convertPatternGroupsToTasks(positive, negative, dynamic) {
- return Object.keys(positive).map((base) => {
- return convertPatternGroupToTask(base, positive[base], negative, dynamic);
- });
- }
- exports2.convertPatternGroupsToTasks = convertPatternGroupsToTasks;
- function convertPatternGroupToTask(base, positive, negative, dynamic) {
- return {
- dynamic,
- positive,
- negative,
- base,
- patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern))
- };
- }
- exports2.convertPatternGroupToTask = convertPatternGroupToTask;
- }
-});
-var require_patterns = __commonJS2({
- "node_modules/fast-glob/out/managers/patterns.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.removeDuplicateSlashes = exports2.transform = void 0;
- var DOUBLE_SLASH_RE = /(?!^)\/{2,}/g;
- function transform(patterns) {
- return patterns.map((pattern) => removeDuplicateSlashes(pattern));
- }
- exports2.transform = transform;
- function removeDuplicateSlashes(pattern) {
- return pattern.replace(DOUBLE_SLASH_RE, "/");
- }
- exports2.removeDuplicateSlashes = removeDuplicateSlashes;
- }
-});
-var require_async = __commonJS2({
- "node_modules/@nodelib/fs.stat/out/providers/async.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.read = void 0;
- function read(path, settings, callback) {
- settings.fs.lstat(path, (lstatError, lstat) => {
- if (lstatError !== null) {
- callFailureCallback(callback, lstatError);
- return;
- }
- if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
- callSuccessCallback(callback, lstat);
- return;
- }
- settings.fs.stat(path, (statError, stat) => {
- if (statError !== null) {
- if (settings.throwErrorOnBrokenSymbolicLink) {
- callFailureCallback(callback, statError);
- return;
- }
- callSuccessCallback(callback, lstat);
- return;
- }
- if (settings.markSymbolicLink) {
- stat.isSymbolicLink = () => true;
- }
- callSuccessCallback(callback, stat);
- });
- });
- }
- exports2.read = read;
- function callFailureCallback(callback, error) {
- callback(error);
- }
- function callSuccessCallback(callback, result) {
- callback(null, result);
- }
- }
-});
-var require_sync = __commonJS2({
- "node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.read = void 0;
- function read(path, settings) {
- const lstat = settings.fs.lstatSync(path);
- if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
- return lstat;
- }
- try {
- const stat = settings.fs.statSync(path);
- if (settings.markSymbolicLink) {
- stat.isSymbolicLink = () => true;
- }
- return stat;
- } catch (error) {
- if (!settings.throwErrorOnBrokenSymbolicLink) {
- return lstat;
- }
- throw error;
- }
- }
- exports2.read = read;
- }
-});
-var require_fs2 = __commonJS2({
- "node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0;
- var fs = require("fs");
- exports2.FILE_SYSTEM_ADAPTER = {
- lstat: fs.lstat,
- stat: fs.stat,
- lstatSync: fs.lstatSync,
- statSync: fs.statSync
- };
- function createFileSystemAdapter(fsMethods) {
- if (fsMethods === void 0) {
- return exports2.FILE_SYSTEM_ADAPTER;
- }
- return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods);
- }
- exports2.createFileSystemAdapter = createFileSystemAdapter;
- }
-});
-var require_settings = __commonJS2({
- "node_modules/@nodelib/fs.stat/out/settings.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var fs = require_fs2();
- var Settings = class {
- constructor(_options = {}) {
- this._options = _options;
- this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);
- this.fs = fs.createFileSystemAdapter(this._options.fs);
- this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);
- this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
- }
- _getValue(option, value) {
- return option !== null && option !== void 0 ? option : value;
- }
- };
- exports2.default = Settings;
- }
-});
-var require_out = __commonJS2({
- "node_modules/@nodelib/fs.stat/out/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.statSync = exports2.stat = exports2.Settings = void 0;
- var async = require_async();
- var sync = require_sync();
- var settings_1 = require_settings();
- exports2.Settings = settings_1.default;
- function stat(path, optionsOrSettingsOrCallback, callback) {
- if (typeof optionsOrSettingsOrCallback === "function") {
- async.read(path, getSettings(), optionsOrSettingsOrCallback);
- return;
- }
- async.read(path, getSettings(optionsOrSettingsOrCallback), callback);
- }
- exports2.stat = stat;
- function statSync(path, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- return sync.read(path, settings);
- }
- exports2.statSync = statSync;
- function getSettings(settingsOrOptions = {}) {
- if (settingsOrOptions instanceof settings_1.default) {
- return settingsOrOptions;
- }
- return new settings_1.default(settingsOrOptions);
- }
- }
-});
-var require_queue_microtask = __commonJS2({
- "node_modules/queue-microtask/index.js"(exports2, module2) {
- var promise;
- module2.exports = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : global) : (cb) => (promise || (promise = Promise.resolve())).then(cb).catch((err) => setTimeout(() => {
- throw err;
- }, 0));
- }
-});
-var require_run_parallel = __commonJS2({
- "node_modules/run-parallel/index.js"(exports2, module2) {
- module2.exports = runParallel;
- var queueMicrotask2 = require_queue_microtask();
- function runParallel(tasks, cb) {
- let results, pending, keys;
- let isSync = true;
- if (Array.isArray(tasks)) {
- results = [];
- pending = tasks.length;
- } else {
- keys = Object.keys(tasks);
- results = {};
- pending = keys.length;
- }
- function done(err) {
- function end() {
- if (cb)
- cb(err, results);
- cb = null;
- }
- if (isSync)
- queueMicrotask2(end);
- else
- end();
- }
- function each(i, err, result) {
- results[i] = result;
- if (--pending === 0 || err) {
- done(err);
- }
- }
- if (!pending) {
- done(null);
- } else if (keys) {
- keys.forEach(function(key) {
- tasks[key](function(err, result) {
- each(key, err, result);
- });
- });
- } else {
- tasks.forEach(function(task, i) {
- task(function(err, result) {
- each(i, err, result);
- });
- });
- }
- isSync = false;
- }
- }
-});
-var require_constants3 = __commonJS2({
- "node_modules/@nodelib/fs.scandir/out/constants.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;
- var NODE_PROCESS_VERSION_PARTS = process.versions.node.split(".");
- if (NODE_PROCESS_VERSION_PARTS[0] === void 0 || NODE_PROCESS_VERSION_PARTS[1] === void 0) {
- throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);
- }
- var MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10);
- var MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10);
- var SUPPORTED_MAJOR_VERSION = 10;
- var SUPPORTED_MINOR_VERSION = 10;
- var IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION;
- var IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION;
- exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR;
- }
-});
-var require_fs3 = __commonJS2({
- "node_modules/@nodelib/fs.scandir/out/utils/fs.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.createDirentFromStats = void 0;
- var DirentFromStats = class {
- constructor(name, stats) {
- this.name = name;
- this.isBlockDevice = stats.isBlockDevice.bind(stats);
- this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
- this.isDirectory = stats.isDirectory.bind(stats);
- this.isFIFO = stats.isFIFO.bind(stats);
- this.isFile = stats.isFile.bind(stats);
- this.isSocket = stats.isSocket.bind(stats);
- this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
- }
- };
- function createDirentFromStats(name, stats) {
- return new DirentFromStats(name, stats);
- }
- exports2.createDirentFromStats = createDirentFromStats;
- }
-});
-var require_utils5 = __commonJS2({
- "node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.fs = void 0;
- var fs = require_fs3();
- exports2.fs = fs;
- }
-});
-var require_common = __commonJS2({
- "node_modules/@nodelib/fs.scandir/out/providers/common.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.joinPathSegments = void 0;
- function joinPathSegments(a, b, separator) {
- if (a.endsWith(separator)) {
- return a + b;
- }
- return a + separator + b;
- }
- exports2.joinPathSegments = joinPathSegments;
- }
-});
-var require_async2 = __commonJS2({
- "node_modules/@nodelib/fs.scandir/out/providers/async.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0;
- var fsStat = require_out();
- var rpl = require_run_parallel();
- var constants_1 = require_constants3();
- var utils = require_utils5();
- var common = require_common();
- function read(directory, settings, callback) {
- if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
- readdirWithFileTypes(directory, settings, callback);
- return;
- }
- readdir(directory, settings, callback);
- }
- exports2.read = read;
- function readdirWithFileTypes(directory, settings, callback) {
- settings.fs.readdir(directory, {
- withFileTypes: true
- }, (readdirError, dirents) => {
- if (readdirError !== null) {
- callFailureCallback(callback, readdirError);
- return;
- }
- const entries = dirents.map((dirent) => ({
- dirent,
- name: dirent.name,
- path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
- }));
- if (!settings.followSymbolicLinks) {
- callSuccessCallback(callback, entries);
- return;
- }
- const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings));
- rpl(tasks, (rplError, rplEntries) => {
- if (rplError !== null) {
- callFailureCallback(callback, rplError);
- return;
- }
- callSuccessCallback(callback, rplEntries);
- });
- });
- }
- exports2.readdirWithFileTypes = readdirWithFileTypes;
- function makeRplTaskEntry(entry, settings) {
- return (done) => {
- if (!entry.dirent.isSymbolicLink()) {
- done(null, entry);
- return;
- }
- settings.fs.stat(entry.path, (statError, stats) => {
- if (statError !== null) {
- if (settings.throwErrorOnBrokenSymbolicLink) {
- done(statError);
- return;
- }
- done(null, entry);
- return;
- }
- entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
- done(null, entry);
- });
- };
- }
- function readdir(directory, settings, callback) {
- settings.fs.readdir(directory, (readdirError, names) => {
- if (readdirError !== null) {
- callFailureCallback(callback, readdirError);
- return;
- }
- const tasks = names.map((name) => {
- const path = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
- return (done) => {
- fsStat.stat(path, settings.fsStatSettings, (error, stats) => {
- if (error !== null) {
- done(error);
- return;
- }
- const entry = {
- name,
- path,
- dirent: utils.fs.createDirentFromStats(name, stats)
- };
- if (settings.stats) {
- entry.stats = stats;
- }
- done(null, entry);
- });
- };
- });
- rpl(tasks, (rplError, entries) => {
- if (rplError !== null) {
- callFailureCallback(callback, rplError);
- return;
- }
- callSuccessCallback(callback, entries);
- });
- });
- }
- exports2.readdir = readdir;
- function callFailureCallback(callback, error) {
- callback(error);
- }
- function callSuccessCallback(callback, result) {
- callback(null, result);
- }
- }
-});
-var require_sync2 = __commonJS2({
- "node_modules/@nodelib/fs.scandir/out/providers/sync.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0;
- var fsStat = require_out();
- var constants_1 = require_constants3();
- var utils = require_utils5();
- var common = require_common();
- function read(directory, settings) {
- if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
- return readdirWithFileTypes(directory, settings);
- }
- return readdir(directory, settings);
- }
- exports2.read = read;
- function readdirWithFileTypes(directory, settings) {
- const dirents = settings.fs.readdirSync(directory, {
- withFileTypes: true
- });
- return dirents.map((dirent) => {
- const entry = {
- dirent,
- name: dirent.name,
- path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
- };
- if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {
- try {
- const stats = settings.fs.statSync(entry.path);
- entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
- } catch (error) {
- if (settings.throwErrorOnBrokenSymbolicLink) {
- throw error;
- }
- }
- }
- return entry;
- });
- }
- exports2.readdirWithFileTypes = readdirWithFileTypes;
- function readdir(directory, settings) {
- const names = settings.fs.readdirSync(directory);
- return names.map((name) => {
- const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
- const stats = fsStat.statSync(entryPath, settings.fsStatSettings);
- const entry = {
- name,
- path: entryPath,
- dirent: utils.fs.createDirentFromStats(name, stats)
- };
- if (settings.stats) {
- entry.stats = stats;
- }
- return entry;
- });
- }
- exports2.readdir = readdir;
- }
-});
-var require_fs4 = __commonJS2({
- "node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0;
- var fs = require("fs");
- exports2.FILE_SYSTEM_ADAPTER = {
- lstat: fs.lstat,
- stat: fs.stat,
- lstatSync: fs.lstatSync,
- statSync: fs.statSync,
- readdir: fs.readdir,
- readdirSync: fs.readdirSync
- };
- function createFileSystemAdapter(fsMethods) {
- if (fsMethods === void 0) {
- return exports2.FILE_SYSTEM_ADAPTER;
- }
- return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods);
- }
- exports2.createFileSystemAdapter = createFileSystemAdapter;
- }
-});
-var require_settings2 = __commonJS2({
- "node_modules/@nodelib/fs.scandir/out/settings.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var path = require("path");
- var fsStat = require_out();
- var fs = require_fs4();
- var Settings = class {
- constructor(_options = {}) {
- this._options = _options;
- this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
- this.fs = fs.createFileSystemAdapter(this._options.fs);
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);
- this.stats = this._getValue(this._options.stats, false);
- this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
- this.fsStatSettings = new fsStat.Settings({
- followSymbolicLink: this.followSymbolicLinks,
- fs: this.fs,
- throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
- });
- }
- _getValue(option, value) {
- return option !== null && option !== void 0 ? option : value;
- }
- };
- exports2.default = Settings;
- }
-});
-var require_out2 = __commonJS2({
- "node_modules/@nodelib/fs.scandir/out/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.Settings = exports2.scandirSync = exports2.scandir = void 0;
- var async = require_async2();
- var sync = require_sync2();
- var settings_1 = require_settings2();
- exports2.Settings = settings_1.default;
- function scandir(path, optionsOrSettingsOrCallback, callback) {
- if (typeof optionsOrSettingsOrCallback === "function") {
- async.read(path, getSettings(), optionsOrSettingsOrCallback);
- return;
- }
- async.read(path, getSettings(optionsOrSettingsOrCallback), callback);
- }
- exports2.scandir = scandir;
- function scandirSync(path, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- return sync.read(path, settings);
- }
- exports2.scandirSync = scandirSync;
- function getSettings(settingsOrOptions = {}) {
- if (settingsOrOptions instanceof settings_1.default) {
- return settingsOrOptions;
- }
- return new settings_1.default(settingsOrOptions);
- }
- }
-});
-var require_reusify = __commonJS2({
- "node_modules/reusify/reusify.js"(exports2, module2) {
- "use strict";
- function reusify(Constructor) {
- var head = new Constructor();
- var tail = head;
- function get() {
- var current = head;
- if (current.next) {
- head = current.next;
- } else {
- head = new Constructor();
- tail = head;
- }
- current.next = null;
- return current;
- }
- function release(obj) {
- tail.next = obj;
- tail = obj;
- }
- return {
- get,
- release
- };
- }
- module2.exports = reusify;
- }
-});
-var require_queue = __commonJS2({
- "node_modules/fastq/queue.js"(exports2, module2) {
- "use strict";
- var reusify = require_reusify();
- function fastqueue(context, worker, concurrency) {
- if (typeof context === "function") {
- concurrency = worker;
- worker = context;
- context = null;
- }
- if (concurrency < 1) {
- throw new Error("fastqueue concurrency must be greater than 1");
- }
- var cache = reusify(Task);
- var queueHead = null;
- var queueTail = null;
- var _running = 0;
- var errorHandler = null;
- var self2 = {
- push,
- drain: noop,
- saturated: noop,
- pause,
- paused: false,
- concurrency,
- running,
- resume,
- idle,
- length,
- getQueue,
- unshift,
- empty: noop,
- kill,
- killAndDrain,
- error
- };
- return self2;
- function running() {
- return _running;
- }
- function pause() {
- self2.paused = true;
- }
- function length() {
- var current = queueHead;
- var counter = 0;
- while (current) {
- current = current.next;
- counter++;
- }
- return counter;
- }
- function getQueue() {
- var current = queueHead;
- var tasks = [];
- while (current) {
- tasks.push(current.value);
- current = current.next;
- }
- return tasks;
- }
- function resume() {
- if (!self2.paused)
- return;
- self2.paused = false;
- for (var i = 0; i < self2.concurrency; i++) {
- _running++;
- release();
- }
- }
- function idle() {
- return _running === 0 && self2.length() === 0;
- }
- function push(value, done) {
- var current = cache.get();
- current.context = context;
- current.release = release;
- current.value = value;
- current.callback = done || noop;
- current.errorHandler = errorHandler;
- if (_running === self2.concurrency || self2.paused) {
- if (queueTail) {
- queueTail.next = current;
- queueTail = current;
- } else {
- queueHead = current;
- queueTail = current;
- self2.saturated();
- }
- } else {
- _running++;
- worker.call(context, current.value, current.worked);
- }
- }
- function unshift(value, done) {
- var current = cache.get();
- current.context = context;
- current.release = release;
- current.value = value;
- current.callback = done || noop;
- if (_running === self2.concurrency || self2.paused) {
- if (queueHead) {
- current.next = queueHead;
- queueHead = current;
- } else {
- queueHead = current;
- queueTail = current;
- self2.saturated();
- }
- } else {
- _running++;
- worker.call(context, current.value, current.worked);
- }
- }
- function release(holder) {
- if (holder) {
- cache.release(holder);
- }
- var next = queueHead;
- if (next) {
- if (!self2.paused) {
- if (queueTail === queueHead) {
- queueTail = null;
- }
- queueHead = next.next;
- next.next = null;
- worker.call(context, next.value, next.worked);
- if (queueTail === null) {
- self2.empty();
- }
- } else {
- _running--;
- }
- } else if (--_running === 0) {
- self2.drain();
- }
- }
- function kill() {
- queueHead = null;
- queueTail = null;
- self2.drain = noop;
- }
- function killAndDrain() {
- queueHead = null;
- queueTail = null;
- self2.drain();
- self2.drain = noop;
- }
- function error(handler) {
- errorHandler = handler;
- }
- }
- function noop() {
- }
- function Task() {
- this.value = null;
- this.callback = noop;
- this.next = null;
- this.release = noop;
- this.context = null;
- this.errorHandler = null;
- var self2 = this;
- this.worked = function worked(err, result) {
- var callback = self2.callback;
- var errorHandler = self2.errorHandler;
- var val = self2.value;
- self2.value = null;
- self2.callback = noop;
- if (self2.errorHandler) {
- errorHandler(err, val);
- }
- callback.call(self2.context, err, result);
- self2.release(self2);
- };
- }
- function queueAsPromised(context, worker, concurrency) {
- if (typeof context === "function") {
- concurrency = worker;
- worker = context;
- context = null;
- }
- function asyncWrapper(arg, cb) {
- worker.call(this, arg).then(function(res) {
- cb(null, res);
- }, cb);
- }
- var queue = fastqueue(context, asyncWrapper, concurrency);
- var pushCb = queue.push;
- var unshiftCb = queue.unshift;
- queue.push = push;
- queue.unshift = unshift;
- queue.drained = drained;
- return queue;
- function push(value) {
- var p = new Promise(function(resolve, reject) {
- pushCb(value, function(err, result) {
- if (err) {
- reject(err);
- return;
- }
- resolve(result);
- });
- });
- p.catch(noop);
- return p;
- }
- function unshift(value) {
- var p = new Promise(function(resolve, reject) {
- unshiftCb(value, function(err, result) {
- if (err) {
- reject(err);
- return;
- }
- resolve(result);
- });
- });
- p.catch(noop);
- return p;
- }
- function drained() {
- var previousDrain = queue.drain;
- var p = new Promise(function(resolve) {
- queue.drain = function() {
- previousDrain();
- resolve();
- };
- });
- return p;
- }
- }
- module2.exports = fastqueue;
- module2.exports.promise = queueAsPromised;
- }
-});
-var require_common2 = __commonJS2({
- "node_modules/@nodelib/fs.walk/out/readers/common.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.joinPathSegments = exports2.replacePathSegmentSeparator = exports2.isAppliedFilter = exports2.isFatalError = void 0;
- function isFatalError(settings, error) {
- if (settings.errorFilter === null) {
- return true;
- }
- return !settings.errorFilter(error);
- }
- exports2.isFatalError = isFatalError;
- function isAppliedFilter(filter, value) {
- return filter === null || filter(value);
- }
- exports2.isAppliedFilter = isAppliedFilter;
- function replacePathSegmentSeparator(filepath, separator) {
- return filepath.split(/[/\\]/).join(separator);
- }
- exports2.replacePathSegmentSeparator = replacePathSegmentSeparator;
- function joinPathSegments(a, b, separator) {
- if (a === "") {
- return b;
- }
- if (a.endsWith(separator)) {
- return a + b;
- }
- return a + separator + b;
- }
- exports2.joinPathSegments = joinPathSegments;
- }
-});
-var require_reader = __commonJS2({
- "node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var common = require_common2();
- var Reader = class {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator);
- }
- };
- exports2.default = Reader;
- }
-});
-var require_async3 = __commonJS2({
- "node_modules/@nodelib/fs.walk/out/readers/async.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var events_1 = require("events");
- var fsScandir = require_out2();
- var fastq = require_queue();
- var common = require_common2();
- var reader_1 = require_reader();
- var AsyncReader = class extends reader_1.default {
- constructor(_root, _settings) {
- super(_root, _settings);
- this._settings = _settings;
- this._scandir = fsScandir.scandir;
- this._emitter = new events_1.EventEmitter();
- this._queue = fastq(this._worker.bind(this), this._settings.concurrency);
- this._isFatalError = false;
- this._isDestroyed = false;
- this._queue.drain = () => {
- if (!this._isFatalError) {
- this._emitter.emit("end");
- }
- };
- }
- read() {
- this._isFatalError = false;
- this._isDestroyed = false;
- setImmediate(() => {
- this._pushToQueue(this._root, this._settings.basePath);
- });
- return this._emitter;
- }
- get isDestroyed() {
- return this._isDestroyed;
- }
- destroy() {
- if (this._isDestroyed) {
- throw new Error("The reader is already destroyed");
- }
- this._isDestroyed = true;
- this._queue.killAndDrain();
- }
- onEntry(callback) {
- this._emitter.on("entry", callback);
- }
- onError(callback) {
- this._emitter.once("error", callback);
- }
- onEnd(callback) {
- this._emitter.once("end", callback);
- }
- _pushToQueue(directory, base) {
- const queueItem = {
- directory,
- base
- };
- this._queue.push(queueItem, (error) => {
- if (error !== null) {
- this._handleError(error);
- }
- });
- }
- _worker(item, done) {
- this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => {
- if (error !== null) {
- done(error, void 0);
- return;
- }
- for (const entry of entries) {
- this._handleEntry(entry, item.base);
- }
- done(null, void 0);
- });
- }
- _handleError(error) {
- if (this._isDestroyed || !common.isFatalError(this._settings, error)) {
- return;
- }
- this._isFatalError = true;
- this._isDestroyed = true;
- this._emitter.emit("error", error);
- }
- _handleEntry(entry, base) {
- if (this._isDestroyed || this._isFatalError) {
- return;
- }
- const fullpath = entry.path;
- if (base !== void 0) {
- entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
- }
- if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
- this._emitEntry(entry);
- }
- if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
- this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
- }
- }
- _emitEntry(entry) {
- this._emitter.emit("entry", entry);
- }
- };
- exports2.default = AsyncReader;
- }
-});
-var require_async4 = __commonJS2({
- "node_modules/@nodelib/fs.walk/out/providers/async.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var async_1 = require_async3();
- var AsyncProvider = class {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._reader = new async_1.default(this._root, this._settings);
- this._storage = [];
- }
- read(callback) {
- this._reader.onError((error) => {
- callFailureCallback(callback, error);
- });
- this._reader.onEntry((entry) => {
- this._storage.push(entry);
- });
- this._reader.onEnd(() => {
- callSuccessCallback(callback, this._storage);
- });
- this._reader.read();
- }
- };
- exports2.default = AsyncProvider;
- function callFailureCallback(callback, error) {
- callback(error);
- }
- function callSuccessCallback(callback, entries) {
- callback(null, entries);
- }
- }
-});
-var require_stream2 = __commonJS2({
- "node_modules/@nodelib/fs.walk/out/providers/stream.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var stream_1 = require("stream");
- var async_1 = require_async3();
- var StreamProvider = class {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._reader = new async_1.default(this._root, this._settings);
- this._stream = new stream_1.Readable({
- objectMode: true,
- read: () => {
- },
- destroy: () => {
- if (!this._reader.isDestroyed) {
- this._reader.destroy();
- }
- }
- });
- }
- read() {
- this._reader.onError((error) => {
- this._stream.emit("error", error);
- });
- this._reader.onEntry((entry) => {
- this._stream.push(entry);
- });
- this._reader.onEnd(() => {
- this._stream.push(null);
- });
- this._reader.read();
- return this._stream;
- }
- };
- exports2.default = StreamProvider;
- }
-});
-var require_sync3 = __commonJS2({
- "node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var fsScandir = require_out2();
- var common = require_common2();
- var reader_1 = require_reader();
- var SyncReader = class extends reader_1.default {
- constructor() {
- super(...arguments);
- this._scandir = fsScandir.scandirSync;
- this._storage = [];
- this._queue = /* @__PURE__ */ new Set();
- }
- read() {
- this._pushToQueue(this._root, this._settings.basePath);
- this._handleQueue();
- return this._storage;
- }
- _pushToQueue(directory, base) {
- this._queue.add({
- directory,
- base
- });
- }
- _handleQueue() {
- for (const item of this._queue.values()) {
- this._handleDirectory(item.directory, item.base);
- }
- }
- _handleDirectory(directory, base) {
- try {
- const entries = this._scandir(directory, this._settings.fsScandirSettings);
- for (const entry of entries) {
- this._handleEntry(entry, base);
- }
- } catch (error) {
- this._handleError(error);
- }
- }
- _handleError(error) {
- if (!common.isFatalError(this._settings, error)) {
- return;
- }
- throw error;
- }
- _handleEntry(entry, base) {
- const fullpath = entry.path;
- if (base !== void 0) {
- entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
- }
- if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
- this._pushToStorage(entry);
- }
- if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
- this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
- }
- }
- _pushToStorage(entry) {
- this._storage.push(entry);
- }
- };
- exports2.default = SyncReader;
- }
-});
-var require_sync4 = __commonJS2({
- "node_modules/@nodelib/fs.walk/out/providers/sync.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var sync_1 = require_sync3();
- var SyncProvider = class {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._reader = new sync_1.default(this._root, this._settings);
- }
- read() {
- return this._reader.read();
- }
- };
- exports2.default = SyncProvider;
- }
-});
-var require_settings3 = __commonJS2({
- "node_modules/@nodelib/fs.walk/out/settings.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var path = require("path");
- var fsScandir = require_out2();
- var Settings = class {
- constructor(_options = {}) {
- this._options = _options;
- this.basePath = this._getValue(this._options.basePath, void 0);
- this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY);
- this.deepFilter = this._getValue(this._options.deepFilter, null);
- this.entryFilter = this._getValue(this._options.entryFilter, null);
- this.errorFilter = this._getValue(this._options.errorFilter, null);
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);
- this.fsScandirSettings = new fsScandir.Settings({
- followSymbolicLinks: this._options.followSymbolicLinks,
- fs: this._options.fs,
- pathSegmentSeparator: this._options.pathSegmentSeparator,
- stats: this._options.stats,
- throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink
- });
- }
- _getValue(option, value) {
- return option !== null && option !== void 0 ? option : value;
- }
- };
- exports2.default = Settings;
- }
-});
-var require_out3 = __commonJS2({
- "node_modules/@nodelib/fs.walk/out/index.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.Settings = exports2.walkStream = exports2.walkSync = exports2.walk = void 0;
- var async_1 = require_async4();
- var stream_1 = require_stream2();
- var sync_1 = require_sync4();
- var settings_1 = require_settings3();
- exports2.Settings = settings_1.default;
- function walk(directory, optionsOrSettingsOrCallback, callback) {
- if (typeof optionsOrSettingsOrCallback === "function") {
- new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);
- return;
- }
- new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback);
- }
- exports2.walk = walk;
- function walkSync(directory, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- const provider = new sync_1.default(directory, settings);
- return provider.read();
- }
- exports2.walkSync = walkSync;
- function walkStream(directory, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- const provider = new stream_1.default(directory, settings);
- return provider.read();
- }
- exports2.walkStream = walkStream;
- function getSettings(settingsOrOptions = {}) {
- if (settingsOrOptions instanceof settings_1.default) {
- return settingsOrOptions;
- }
- return new settings_1.default(settingsOrOptions);
- }
- }
-});
-var require_reader2 = __commonJS2({
- "node_modules/fast-glob/out/readers/reader.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var path = require("path");
- var fsStat = require_out();
- var utils = require_utils4();
- var Reader = class {
- constructor(_settings) {
- this._settings = _settings;
- this._fsStatSettings = new fsStat.Settings({
- followSymbolicLink: this._settings.followSymbolicLinks,
- fs: this._settings.fs,
- throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks
- });
- }
- _getFullEntryPath(filepath) {
- return path.resolve(this._settings.cwd, filepath);
- }
- _makeEntry(stats, pattern) {
- const entry = {
- name: pattern,
- path: pattern,
- dirent: utils.fs.createDirentFromStats(pattern, stats)
- };
- if (this._settings.stats) {
- entry.stats = stats;
- }
- return entry;
- }
- _isFatalError(error) {
- return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;
- }
- };
- exports2.default = Reader;
- }
-});
-var require_stream3 = __commonJS2({
- "node_modules/fast-glob/out/readers/stream.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var stream_1 = require("stream");
- var fsStat = require_out();
- var fsWalk = require_out3();
- var reader_1 = require_reader2();
- var ReaderStream = class extends reader_1.default {
- constructor() {
- super(...arguments);
- this._walkStream = fsWalk.walkStream;
- this._stat = fsStat.stat;
- }
- dynamic(root, options) {
- return this._walkStream(root, options);
- }
- static(patterns, options) {
- const filepaths = patterns.map(this._getFullEntryPath, this);
- const stream = new stream_1.PassThrough({
- objectMode: true
- });
- stream._write = (index, _enc, done) => {
- return this._getEntry(filepaths[index], patterns[index], options).then((entry) => {
- if (entry !== null && options.entryFilter(entry)) {
- stream.push(entry);
- }
- if (index === filepaths.length - 1) {
- stream.end();
- }
- done();
- }).catch(done);
- };
- for (let i = 0; i < filepaths.length; i++) {
- stream.write(i);
- }
- return stream;
- }
- _getEntry(filepath, pattern, options) {
- return this._getStat(filepath).then((stats) => this._makeEntry(stats, pattern)).catch((error) => {
- if (options.errorFilter(error)) {
- return null;
- }
- throw error;
- });
- }
- _getStat(filepath) {
- return new Promise((resolve, reject) => {
- this._stat(filepath, this._fsStatSettings, (error, stats) => {
- return error === null ? resolve(stats) : reject(error);
- });
- });
- }
- };
- exports2.default = ReaderStream;
- }
-});
-var require_matcher = __commonJS2({
- "node_modules/fast-glob/out/providers/matchers/matcher.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var utils = require_utils4();
- var Matcher = class {
- constructor(_patterns, _settings, _micromatchOptions) {
- this._patterns = _patterns;
- this._settings = _settings;
- this._micromatchOptions = _micromatchOptions;
- this._storage = [];
- this._fillStorage();
- }
- _fillStorage() {
- const patterns = utils.pattern.expandPatternsWithBraceExpansion(this._patterns);
- for (const pattern of patterns) {
- const segments = this._getPatternSegments(pattern);
- const sections = this._splitSegmentsIntoSections(segments);
- this._storage.push({
- complete: sections.length <= 1,
- pattern,
- segments,
- sections
- });
- }
- }
- _getPatternSegments(pattern) {
- const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions);
- return parts.map((part) => {
- const dynamic = utils.pattern.isDynamicPattern(part, this._settings);
- if (!dynamic) {
- return {
- dynamic: false,
- pattern: part
- };
- }
- return {
- dynamic: true,
- pattern: part,
- patternRe: utils.pattern.makeRe(part, this._micromatchOptions)
- };
- });
- }
- _splitSegmentsIntoSections(segments) {
- return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern));
- }
- };
- exports2.default = Matcher;
- }
-});
-var require_partial = __commonJS2({
- "node_modules/fast-glob/out/providers/matchers/partial.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var matcher_1 = require_matcher();
- var PartialMatcher = class extends matcher_1.default {
- match(filepath) {
- const parts = filepath.split("/");
- const levels = parts.length;
- const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);
- for (const pattern of patterns) {
- const section = pattern.sections[0];
- if (!pattern.complete && levels > section.length) {
- return true;
- }
- const match = parts.every((part, index) => {
- const segment = pattern.segments[index];
- if (segment.dynamic && segment.patternRe.test(part)) {
- return true;
- }
- if (!segment.dynamic && segment.pattern === part) {
- return true;
- }
- return false;
- });
- if (match) {
- return true;
- }
- }
- return false;
- }
- };
- exports2.default = PartialMatcher;
- }
-});
-var require_deep = __commonJS2({
- "node_modules/fast-glob/out/providers/filters/deep.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var utils = require_utils4();
- var partial_1 = require_partial();
- var DeepFilter = class {
- constructor(_settings, _micromatchOptions) {
- this._settings = _settings;
- this._micromatchOptions = _micromatchOptions;
- }
- getFilter(basePath, positive, negative) {
- const matcher = this._getMatcher(positive);
- const negativeRe = this._getNegativePatternsRe(negative);
- return (entry) => this._filter(basePath, entry, matcher, negativeRe);
- }
- _getMatcher(patterns) {
- return new partial_1.default(patterns, this._settings, this._micromatchOptions);
- }
- _getNegativePatternsRe(patterns) {
- const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern);
- return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);
- }
- _filter(basePath, entry, matcher, negativeRe) {
- if (this._isSkippedByDeep(basePath, entry.path)) {
- return false;
- }
- if (this._isSkippedSymbolicLink(entry)) {
- return false;
- }
- const filepath = utils.path.removeLeadingDotSegment(entry.path);
- if (this._isSkippedByPositivePatterns(filepath, matcher)) {
- return false;
- }
- return this._isSkippedByNegativePatterns(filepath, negativeRe);
- }
- _isSkippedByDeep(basePath, entryPath) {
- if (this._settings.deep === Infinity) {
- return false;
- }
- return this._getEntryLevel(basePath, entryPath) >= this._settings.deep;
- }
- _getEntryLevel(basePath, entryPath) {
- const entryPathDepth = entryPath.split("/").length;
- if (basePath === "") {
- return entryPathDepth;
- }
- const basePathDepth = basePath.split("/").length;
- return entryPathDepth - basePathDepth;
- }
- _isSkippedSymbolicLink(entry) {
- return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink();
- }
- _isSkippedByPositivePatterns(entryPath, matcher) {
- return !this._settings.baseNameMatch && !matcher.match(entryPath);
- }
- _isSkippedByNegativePatterns(entryPath, patternsRe) {
- return !utils.pattern.matchAny(entryPath, patternsRe);
- }
- };
- exports2.default = DeepFilter;
- }
-});
-var require_entry = __commonJS2({
- "node_modules/fast-glob/out/providers/filters/entry.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var utils = require_utils4();
- var EntryFilter = class {
- constructor(_settings, _micromatchOptions) {
- this._settings = _settings;
- this._micromatchOptions = _micromatchOptions;
- this.index = /* @__PURE__ */ new Map();
- }
- getFilter(positive, negative) {
- const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions);
- const negativeRe = utils.pattern.convertPatternsToRe(negative, this._micromatchOptions);
- return (entry) => this._filter(entry, positiveRe, negativeRe);
- }
- _filter(entry, positiveRe, negativeRe) {
- if (this._settings.unique && this._isDuplicateEntry(entry)) {
- return false;
- }
- if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) {
- return false;
- }
- if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) {
- return false;
- }
- const filepath = this._settings.baseNameMatch ? entry.name : entry.path;
- const isMatched = this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe);
- if (this._settings.unique && isMatched) {
- this._createIndexRecord(entry);
- }
- return isMatched;
- }
- _isDuplicateEntry(entry) {
- return this.index.has(entry.path);
- }
- _createIndexRecord(entry) {
- this.index.set(entry.path, void 0);
- }
- _onlyFileFilter(entry) {
- return this._settings.onlyFiles && !entry.dirent.isFile();
- }
- _onlyDirectoryFilter(entry) {
- return this._settings.onlyDirectories && !entry.dirent.isDirectory();
- }
- _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) {
- if (!this._settings.absolute) {
- return false;
- }
- const fullpath = utils.path.makeAbsolute(this._settings.cwd, entryPath);
- return utils.pattern.matchAny(fullpath, patternsRe);
- }
- _isMatchToPatterns(entryPath, patternsRe) {
- const filepath = utils.path.removeLeadingDotSegment(entryPath);
- return utils.pattern.matchAny(filepath, patternsRe) || utils.pattern.matchAny(filepath + "/", patternsRe);
- }
- };
- exports2.default = EntryFilter;
- }
-});
-var require_error = __commonJS2({
- "node_modules/fast-glob/out/providers/filters/error.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var utils = require_utils4();
- var ErrorFilter = class {
- constructor(_settings) {
- this._settings = _settings;
- }
- getFilter() {
- return (error) => this._isNonFatalError(error);
- }
- _isNonFatalError(error) {
- return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors;
- }
- };
- exports2.default = ErrorFilter;
- }
-});
-var require_entry2 = __commonJS2({
- "node_modules/fast-glob/out/providers/transformers/entry.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var utils = require_utils4();
- var EntryTransformer = class {
- constructor(_settings) {
- this._settings = _settings;
- }
- getTransformer() {
- return (entry) => this._transform(entry);
- }
- _transform(entry) {
- let filepath = entry.path;
- if (this._settings.absolute) {
- filepath = utils.path.makeAbsolute(this._settings.cwd, filepath);
- filepath = utils.path.unixify(filepath);
- }
- if (this._settings.markDirectories && entry.dirent.isDirectory()) {
- filepath += "/";
- }
- if (!this._settings.objectMode) {
- return filepath;
- }
- return Object.assign(Object.assign({}, entry), {
- path: filepath
- });
- }
- };
- exports2.default = EntryTransformer;
- }
-});
-var require_provider = __commonJS2({
- "node_modules/fast-glob/out/providers/provider.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var path = require("path");
- var deep_1 = require_deep();
- var entry_1 = require_entry();
- var error_1 = require_error();
- var entry_2 = require_entry2();
- var Provider = class {
- constructor(_settings) {
- this._settings = _settings;
- this.errorFilter = new error_1.default(this._settings);
- this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions());
- this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions());
- this.entryTransformer = new entry_2.default(this._settings);
- }
- _getRootDirectory(task) {
- return path.resolve(this._settings.cwd, task.base);
- }
- _getReaderOptions(task) {
- const basePath = task.base === "." ? "" : task.base;
- return {
- basePath,
- pathSegmentSeparator: "/",
- concurrency: this._settings.concurrency,
- deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative),
- entryFilter: this.entryFilter.getFilter(task.positive, task.negative),
- errorFilter: this.errorFilter.getFilter(),
- followSymbolicLinks: this._settings.followSymbolicLinks,
- fs: this._settings.fs,
- stats: this._settings.stats,
- throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink,
- transform: this.entryTransformer.getTransformer()
- };
- }
- _getMicromatchOptions() {
- return {
- dot: this._settings.dot,
- matchBase: this._settings.baseNameMatch,
- nobrace: !this._settings.braceExpansion,
- nocase: !this._settings.caseSensitiveMatch,
- noext: !this._settings.extglob,
- noglobstar: !this._settings.globstar,
- posix: true,
- strictSlashes: false
- };
- }
- };
- exports2.default = Provider;
- }
-});
-var require_async5 = __commonJS2({
- "node_modules/fast-glob/out/providers/async.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var stream_1 = require_stream3();
- var provider_1 = require_provider();
- var ProviderAsync = class extends provider_1.default {
- constructor() {
- super(...arguments);
- this._reader = new stream_1.default(this._settings);
- }
- read(task) {
- const root = this._getRootDirectory(task);
- const options = this._getReaderOptions(task);
- const entries = [];
- return new Promise((resolve, reject) => {
- const stream = this.api(root, task, options);
- stream.once("error", reject);
- stream.on("data", (entry) => entries.push(options.transform(entry)));
- stream.once("end", () => resolve(entries));
- });
- }
- api(root, task, options) {
- if (task.dynamic) {
- return this._reader.dynamic(root, options);
- }
- return this._reader.static(task.patterns, options);
- }
- };
- exports2.default = ProviderAsync;
- }
-});
-var require_stream4 = __commonJS2({
- "node_modules/fast-glob/out/providers/stream.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var stream_1 = require("stream");
- var stream_2 = require_stream3();
- var provider_1 = require_provider();
- var ProviderStream = class extends provider_1.default {
- constructor() {
- super(...arguments);
- this._reader = new stream_2.default(this._settings);
- }
- read(task) {
- const root = this._getRootDirectory(task);
- const options = this._getReaderOptions(task);
- const source = this.api(root, task, options);
- const destination = new stream_1.Readable({
- objectMode: true,
- read: () => {
- }
- });
- source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options.transform(entry))).once("end", () => destination.emit("end"));
- destination.once("close", () => source.destroy());
- return destination;
- }
- api(root, task, options) {
- if (task.dynamic) {
- return this._reader.dynamic(root, options);
- }
- return this._reader.static(task.patterns, options);
- }
- };
- exports2.default = ProviderStream;
- }
-});
-var require_sync5 = __commonJS2({
- "node_modules/fast-glob/out/readers/sync.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var fsStat = require_out();
- var fsWalk = require_out3();
- var reader_1 = require_reader2();
- var ReaderSync = class extends reader_1.default {
- constructor() {
- super(...arguments);
- this._walkSync = fsWalk.walkSync;
- this._statSync = fsStat.statSync;
- }
- dynamic(root, options) {
- return this._walkSync(root, options);
- }
- static(patterns, options) {
- const entries = [];
- for (const pattern of patterns) {
- const filepath = this._getFullEntryPath(pattern);
- const entry = this._getEntry(filepath, pattern, options);
- if (entry === null || !options.entryFilter(entry)) {
- continue;
- }
- entries.push(entry);
- }
- return entries;
- }
- _getEntry(filepath, pattern, options) {
- try {
- const stats = this._getStat(filepath);
- return this._makeEntry(stats, pattern);
- } catch (error) {
- if (options.errorFilter(error)) {
- return null;
- }
- throw error;
- }
- }
- _getStat(filepath) {
- return this._statSync(filepath, this._fsStatSettings);
- }
- };
- exports2.default = ReaderSync;
- }
-});
-var require_sync6 = __commonJS2({
- "node_modules/fast-glob/out/providers/sync.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- var sync_1 = require_sync5();
- var provider_1 = require_provider();
- var ProviderSync = class extends provider_1.default {
- constructor() {
- super(...arguments);
- this._reader = new sync_1.default(this._settings);
- }
- read(task) {
- const root = this._getRootDirectory(task);
- const options = this._getReaderOptions(task);
- const entries = this.api(root, task, options);
- return entries.map(options.transform);
- }
- api(root, task, options) {
- if (task.dynamic) {
- return this._reader.dynamic(root, options);
- }
- return this._reader.static(task.patterns, options);
- }
- };
- exports2.default = ProviderSync;
- }
-});
-var require_settings4 = __commonJS2({
- "node_modules/fast-glob/out/settings.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
- var fs = require("fs");
- var os2 = require("os");
- var CPU_COUNT = Math.max(os2.cpus().length, 1);
- exports2.DEFAULT_FILE_SYSTEM_ADAPTER = {
- lstat: fs.lstat,
- lstatSync: fs.lstatSync,
- stat: fs.stat,
- statSync: fs.statSync,
- readdir: fs.readdir,
- readdirSync: fs.readdirSync
- };
- var Settings = class {
- constructor(_options = {}) {
- this._options = _options;
- this.absolute = this._getValue(this._options.absolute, false);
- this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);
- this.braceExpansion = this._getValue(this._options.braceExpansion, true);
- this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);
- this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT);
- this.cwd = this._getValue(this._options.cwd, process.cwd());
- this.deep = this._getValue(this._options.deep, Infinity);
- this.dot = this._getValue(this._options.dot, false);
- this.extglob = this._getValue(this._options.extglob, true);
- this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true);
- this.fs = this._getFileSystemMethods(this._options.fs);
- this.globstar = this._getValue(this._options.globstar, true);
- this.ignore = this._getValue(this._options.ignore, []);
- this.markDirectories = this._getValue(this._options.markDirectories, false);
- this.objectMode = this._getValue(this._options.objectMode, false);
- this.onlyDirectories = this._getValue(this._options.onlyDirectories, false);
- this.onlyFiles = this._getValue(this._options.onlyFiles, true);
- this.stats = this._getValue(this._options.stats, false);
- this.suppressErrors = this._getValue(this._options.suppressErrors, false);
- this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false);
- this.unique = this._getValue(this._options.unique, true);
- if (this.onlyDirectories) {
- this.onlyFiles = false;
- }
- if (this.stats) {
- this.objectMode = true;
- }
- }
- _getValue(option, value) {
- return option === void 0 ? value : option;
- }
- _getFileSystemMethods(methods = {}) {
- return Object.assign(Object.assign({}, exports2.DEFAULT_FILE_SYSTEM_ADAPTER), methods);
- }
- };
- exports2.default = Settings;
- }
-});
-var require_out4 = __commonJS2({
- "node_modules/fast-glob/out/index.js"(exports2, module2) {
- "use strict";
- var taskManager = require_tasks();
- var patternManager = require_patterns();
- var async_1 = require_async5();
- var stream_1 = require_stream4();
- var sync_1 = require_sync6();
- var settings_1 = require_settings4();
- var utils = require_utils4();
- async function FastGlob(source, options) {
- assertPatternsInput(source);
- const works = getWorks(source, async_1.default, options);
- const result = await Promise.all(works);
- return utils.array.flatten(result);
- }
- (function(FastGlob2) {
- function sync(source, options) {
- assertPatternsInput(source);
- const works = getWorks(source, sync_1.default, options);
- return utils.array.flatten(works);
- }
- FastGlob2.sync = sync;
- function stream(source, options) {
- assertPatternsInput(source);
- const works = getWorks(source, stream_1.default, options);
- return utils.stream.merge(works);
- }
- FastGlob2.stream = stream;
- function generateTasks(source, options) {
- assertPatternsInput(source);
- const patterns = patternManager.transform([].concat(source));
- const settings = new settings_1.default(options);
- return taskManager.generate(patterns, settings);
- }
- FastGlob2.generateTasks = generateTasks;
- function isDynamicPattern(source, options) {
- assertPatternsInput(source);
- const settings = new settings_1.default(options);
- return utils.pattern.isDynamicPattern(source, settings);
- }
- FastGlob2.isDynamicPattern = isDynamicPattern;
- function escapePath(source) {
- assertPatternsInput(source);
- return utils.path.escape(source);
- }
- FastGlob2.escapePath = escapePath;
- })(FastGlob || (FastGlob = {}));
- function getWorks(source, _Provider, options) {
- const patterns = patternManager.transform([].concat(source));
- const settings = new settings_1.default(options);
- const tasks = taskManager.generate(patterns, settings);
- const provider = new _Provider(settings);
- return tasks.map(provider.read, provider);
- }
- function assertPatternsInput(input) {
- const source = [].concat(input);
- const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item));
- if (!isValidSource) {
- throw new TypeError("Patterns must be a string (non empty) or an array of strings");
- }
- }
- module2.exports = FastGlob;
- }
-});
-var require_expand_patterns = __commonJS2({
- "src/cli/expand-patterns.js"(exports2, module2) {
- "use strict";
- var path = require("path");
- var fastGlob = require_out4();
- var {
- statSafe
- } = require_utils();
- async function* expandPatterns(context) {
- const cwd = process.cwd();
- const seen = /* @__PURE__ */ new Set();
- let noResults = true;
- for await (const pathOrError of expandPatternsInternal(context)) {
- noResults = false;
- if (typeof pathOrError !== "string") {
- yield pathOrError;
- continue;
- }
- const relativePath = path.relative(cwd, pathOrError);
- if (seen.has(relativePath)) {
- continue;
- }
- seen.add(relativePath);
- yield relativePath;
- }
- if (noResults && context.argv.errorOnUnmatchedPattern !== false) {
- yield {
- error: `No matching files. Patterns: ${context.filePatterns.join(" ")}`
- };
- }
- }
- async function* expandPatternsInternal(context) {
- const silentlyIgnoredDirs = [".git", ".svn", ".hg"];
- if (context.argv.withNodeModules !== true) {
- silentlyIgnoredDirs.push("node_modules");
- }
- const globOptions = {
- dot: true,
- ignore: silentlyIgnoredDirs.map((dir) => "**/" + dir)
- };
- let supportedFilesGlob;
- const cwd = process.cwd();
- const entries = [];
- for (const pattern of context.filePatterns) {
- const absolutePath = path.resolve(cwd, pattern);
- if (containsIgnoredPathSegment(absolutePath, cwd, silentlyIgnoredDirs)) {
- continue;
- }
- const stat = await statSafe(absolutePath);
- if (stat) {
- if (stat.isFile()) {
- entries.push({
- type: "file",
- glob: escapePathForGlob(fixWindowsSlashes(pattern)),
- input: pattern
- });
- } else if (stat.isDirectory()) {
- const relativePath = path.relative(cwd, absolutePath) || ".";
- entries.push({
- type: "dir",
- glob: escapePathForGlob(fixWindowsSlashes(relativePath)) + "/" + getSupportedFilesGlob(),
- input: pattern
- });
- }
- } else if (pattern[0] === "!") {
- globOptions.ignore.push(fixWindowsSlashes(pattern.slice(1)));
- } else {
- entries.push({
- type: "glob",
- glob: fixWindowsSlashes(pattern),
- input: pattern
- });
- }
- }
- for (const {
- type,
- glob,
- input
- } of entries) {
- let result;
- try {
- result = await fastGlob(glob, globOptions);
- } catch ({
- message
- }) {
- yield {
- error: `${errorMessages.globError[type]}: ${input}
-${message}`
- };
- continue;
- }
- if (result.length === 0) {
- if (context.argv.errorOnUnmatchedPattern !== false) {
- yield {
- error: `${errorMessages.emptyResults[type]}: "${input}".`
- };
- }
- } else {
- yield* sortPaths(result);
- }
- }
- function getSupportedFilesGlob() {
- if (!supportedFilesGlob) {
- const extensions = context.languages.flatMap((lang) => lang.extensions || []);
- const filenames = context.languages.flatMap((lang) => lang.filenames || []);
- supportedFilesGlob = `**/{${[...extensions.map((ext) => "*" + (ext[0] === "." ? ext : "." + ext)), ...filenames]}}`;
- }
- return supportedFilesGlob;
- }
- }
- var errorMessages = {
- globError: {
- file: "Unable to resolve file",
- dir: "Unable to expand directory",
- glob: "Unable to expand glob pattern"
- },
- emptyResults: {
- file: "Explicitly specified file was ignored due to negative glob patterns",
- dir: "No supported files were found in the directory",
- glob: "No files matching the pattern were found"
- }
- };
- function containsIgnoredPathSegment(absolutePath, cwd, ignoredDirectories) {
- return path.relative(cwd, absolutePath).split(path.sep).some((dir) => ignoredDirectories.includes(dir));
- }
- function sortPaths(paths) {
- return paths.sort((a, b) => a.localeCompare(b));
- }
- function escapePathForGlob(path2) {
- return fastGlob.escapePath(path2.replace(/\\/g, "\0")).replace(/\\!/g, "@(!)").replace(/\0/g, "@(\\\\)");
- }
- var isWindows = path.sep === "\\";
- function fixWindowsSlashes(pattern) {
- return isWindows ? pattern.replace(/\\/g, "/") : pattern;
- }
- module2.exports = {
- expandPatterns,
- fixWindowsSlashes
- };
- }
-});
-var require_get_options_for_file = __commonJS2({
- "src/cli/options/get-options-for-file.js"(exports2, module2) {
- "use strict";
- var dashify = require_dashify();
- var prettier2 = require("./index.js");
- var {
- optionsNormalizer
- } = require_prettier_internal();
- var minimist = require_minimist2();
- var createMinimistOptions = require_create_minimist_options();
- var normalizeCliOptions = require_normalize_cli_options();
- function getOptions(argv, detailedOptions) {
- return Object.fromEntries(detailedOptions.filter(({
- forwardToApi
- }) => forwardToApi).map(({
- forwardToApi,
- name
- }) => [forwardToApi, argv[name]]));
- }
- function cliifyOptions(object, apiDetailedOptionMap) {
- return Object.fromEntries(Object.entries(object || {}).map(([key, value]) => {
- const apiOption = apiDetailedOptionMap[key];
- const cliKey = apiOption ? apiOption.name : key;
- return [dashify(cliKey), value];
- }));
- }
- function createApiDetailedOptionMap(detailedOptions) {
- return Object.fromEntries(detailedOptions.filter((option) => option.forwardToApi && option.forwardToApi !== option.name).map((option) => [option.forwardToApi, option]));
- }
- function parseArgsToOptions(context, overrideDefaults) {
- const minimistOptions = createMinimistOptions(context.detailedOptions);
- const apiDetailedOptionMap = createApiDetailedOptionMap(context.detailedOptions);
- return getOptions(normalizeCliOptions(minimist(context.rawArguments, {
- string: minimistOptions.string,
- boolean: minimistOptions.boolean,
- default: cliifyOptions(overrideDefaults, apiDetailedOptionMap)
- }), context.detailedOptions, {
- logger: false
- }), context.detailedOptions);
- }
- async function getOptionsOrDie(context, filePath) {
- try {
- if (context.argv.config === false) {
- context.logger.debug("'--no-config' option found, skip loading config file.");
- return null;
- }
- context.logger.debug(context.argv.config ? `load config file from '${context.argv.config}'` : `resolve config from '${filePath}'`);
- const options = await prettier2.resolveConfig(filePath, {
- editorconfig: context.argv.editorconfig,
- config: context.argv.config
- });
- context.logger.debug("loaded options `" + JSON.stringify(options) + "`");
- return options;
- } catch (error) {
- context.logger.error(`Invalid configuration file \`${filePath}\`: ` + error.message);
- process.exit(2);
- }
- }
- function applyConfigPrecedence(context, options) {
- try {
- switch (context.argv.configPrecedence) {
- case "cli-override":
- return parseArgsToOptions(context, options);
- case "file-override":
- return Object.assign(Object.assign({}, parseArgsToOptions(context)), options);
- case "prefer-file":
- return options || parseArgsToOptions(context);
- }
- } catch (error) {
- context.logger.error(error.toString());
- process.exit(2);
- }
- }
- async function getOptionsForFile(context, filepath) {
- const options = await getOptionsOrDie(context, filepath);
- const hasPlugins = options && options.plugins;
- if (hasPlugins) {
- context.pushContextPlugins(options.plugins);
- }
- const appliedOptions = Object.assign({
- filepath
- }, applyConfigPrecedence(context, options && optionsNormalizer.normalizeApiOptions(options, context.supportOptions, {
- logger: context.logger
- })));
- context.logger.debug(`applied config-precedence (${context.argv.configPrecedence}): ${JSON.stringify(appliedOptions)}`);
- if (hasPlugins) {
- context.popContextPlugins();
- }
- return appliedOptions;
- }
- module2.exports = getOptionsForFile;
- }
-});
-var require_is_tty = __commonJS2({
- "src/cli/is-tty.js"(exports2, module2) {
- "use strict";
- var {
- isCI
- } = require("./third-party.js");
- module2.exports = function isTTY() {
- return process.stdout.isTTY && !isCI();
- };
- }
-});
-var require_commondir = __commonJS2({
- "node_modules/commondir/index.js"(exports2, module2) {
- var path = require("path");
- module2.exports = function(basedir, relfiles) {
- if (relfiles) {
- var files = relfiles.map(function(r) {
- return path.resolve(basedir, r);
- });
- } else {
- var files = basedir;
- }
- var res = files.slice(1).reduce(function(ps, file) {
- if (!file.match(/^([A-Za-z]:)?\/|\\/)) {
- throw new Error("relative path without a basedir");
- }
- var xs = file.split(/\/+|\\+/);
- for (var i = 0; ps[i] === xs[i] && i < Math.min(ps.length, xs.length); i++)
- ;
- return ps.slice(0, i);
- }, files[0].split(/\/+|\\+/));
- return res.length > 1 ? res.join("/") : "/";
- };
- }
-});
-var require_p_try = __commonJS2({
- "node_modules/p-try/index.js"(exports2, module2) {
- "use strict";
- var pTry = (fn, ...arguments_) => new Promise((resolve) => {
- resolve(fn(...arguments_));
- });
- module2.exports = pTry;
- module2.exports.default = pTry;
- }
-});
-var require_p_limit = __commonJS2({
- "node_modules/p-limit/index.js"(exports2, module2) {
- "use strict";
- var pTry = require_p_try();
- var pLimit = (concurrency) => {
- if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {
- return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));
- }
- const queue = [];
- let activeCount = 0;
- const next = () => {
- activeCount--;
- if (queue.length > 0) {
- queue.shift()();
- }
- };
- const run2 = (fn, resolve, ...args) => {
- activeCount++;
- const result = pTry(fn, ...args);
- resolve(result);
- result.then(next, next);
- };
- const enqueue = (fn, resolve, ...args) => {
- if (activeCount < concurrency) {
- run2(fn, resolve, ...args);
- } else {
- queue.push(run2.bind(null, fn, resolve, ...args));
- }
- };
- const generator = (fn, ...args) => new Promise((resolve) => enqueue(fn, resolve, ...args));
- Object.defineProperties(generator, {
- activeCount: {
- get: () => activeCount
- },
- pendingCount: {
- get: () => queue.length
- },
- clearQueue: {
- value: () => {
- queue.length = 0;
- }
- }
- });
- return generator;
- };
- module2.exports = pLimit;
- module2.exports.default = pLimit;
- }
-});
-var require_p_locate = __commonJS2({
- "node_modules/p-locate/index.js"(exports2, module2) {
- "use strict";
- var pLimit = require_p_limit();
- var EndError = class extends Error {
- constructor(value) {
- super();
- this.value = value;
- }
- };
- var testElement = async (element, tester) => tester(await element);
- var finder = async (element) => {
- const values = await Promise.all(element);
- if (values[1] === true) {
- throw new EndError(values[0]);
- }
- return false;
- };
- var pLocate = async (iterable, tester, options) => {
- options = Object.assign({
- concurrency: Infinity,
- preserveOrder: true
- }, options);
- const limit = pLimit(options.concurrency);
- const items = [...iterable].map((element) => [element, limit(testElement, element, tester)]);
- const checkLimit = pLimit(options.preserveOrder ? 1 : Infinity);
- try {
- await Promise.all(items.map((element) => checkLimit(finder, element)));
- } catch (error) {
- if (error instanceof EndError) {
- return error.value;
- }
- throw error;
- }
- };
- module2.exports = pLocate;
- module2.exports.default = pLocate;
- }
-});
-var require_locate_path = __commonJS2({
- "node_modules/locate-path/index.js"(exports2, module2) {
- "use strict";
- var path = require("path");
- var fs = require("fs");
- var {
- promisify
- } = require("util");
- var pLocate = require_p_locate();
- var fsStat = promisify(fs.stat);
- var fsLStat = promisify(fs.lstat);
- var typeMappings = {
- directory: "isDirectory",
- file: "isFile"
- };
- function checkType({
- type
- }) {
- if (type in typeMappings) {
- return;
- }
- throw new Error(`Invalid type specified: ${type}`);
- }
- var matchType = (type, stat) => type === void 0 || stat[typeMappings[type]]();
- module2.exports = async (paths, options) => {
- options = Object.assign({
- cwd: process.cwd(),
- type: "file",
- allowSymlinks: true
- }, options);
- checkType(options);
- const statFn = options.allowSymlinks ? fsStat : fsLStat;
- return pLocate(paths, async (path_) => {
- try {
- const stat = await statFn(path.resolve(options.cwd, path_));
- return matchType(options.type, stat);
- } catch (_) {
- return false;
- }
- }, options);
- };
- module2.exports.sync = (paths, options) => {
- options = Object.assign({
- cwd: process.cwd(),
- allowSymlinks: true,
- type: "file"
- }, options);
- checkType(options);
- const statFn = options.allowSymlinks ? fs.statSync : fs.lstatSync;
- for (const path_ of paths) {
- try {
- const stat = statFn(path.resolve(options.cwd, path_));
- if (matchType(options.type, stat)) {
- return path_;
- }
- } catch (_) {
- }
- }
- };
- }
-});
-var require_path_exists = __commonJS2({
- "node_modules/path-exists/index.js"(exports2, module2) {
- "use strict";
- var fs = require("fs");
- var {
- promisify
- } = require("util");
- var pAccess = promisify(fs.access);
- module2.exports = async (path) => {
- try {
- await pAccess(path);
- return true;
- } catch (_) {
- return false;
- }
- };
- module2.exports.sync = (path) => {
- try {
- fs.accessSync(path);
- return true;
- } catch (_) {
- return false;
- }
- };
- }
-});
-var require_find_up = __commonJS2({
- "node_modules/find-up/index.js"(exports2, module2) {
- "use strict";
- var path = require("path");
- var locatePath = require_locate_path();
- var pathExists = require_path_exists();
- var stop = Symbol("findUp.stop");
- module2.exports = async (name, options = {}) => {
- let directory = path.resolve(options.cwd || "");
- const {
- root
- } = path.parse(directory);
- const paths = [].concat(name);
- const runMatcher = async (locateOptions) => {
- if (typeof name !== "function") {
- return locatePath(paths, locateOptions);
- }
- const foundPath = await name(locateOptions.cwd);
- if (typeof foundPath === "string") {
- return locatePath([foundPath], locateOptions);
- }
- return foundPath;
- };
- while (true) {
- const foundPath = await runMatcher(Object.assign(Object.assign({}, options), {}, {
- cwd: directory
- }));
- if (foundPath === stop) {
- return;
- }
- if (foundPath) {
- return path.resolve(directory, foundPath);
- }
- if (directory === root) {
- return;
- }
- directory = path.dirname(directory);
- }
- };
- module2.exports.sync = (name, options = {}) => {
- let directory = path.resolve(options.cwd || "");
- const {
- root
- } = path.parse(directory);
- const paths = [].concat(name);
- const runMatcher = (locateOptions) => {
- if (typeof name !== "function") {
- return locatePath.sync(paths, locateOptions);
- }
- const foundPath = name(locateOptions.cwd);
- if (typeof foundPath === "string") {
- return locatePath.sync([foundPath], locateOptions);
- }
- return foundPath;
- };
- while (true) {
- const foundPath = runMatcher(Object.assign(Object.assign({}, options), {}, {
- cwd: directory
- }));
- if (foundPath === stop) {
- return;
- }
- if (foundPath) {
- return path.resolve(directory, foundPath);
- }
- if (directory === root) {
- return;
- }
- directory = path.dirname(directory);
- }
- };
- module2.exports.exists = pathExists;
- module2.exports.sync.exists = pathExists.sync;
- module2.exports.stop = stop;
- }
-});
-var require_pkg_dir = __commonJS2({
- "node_modules/pkg-dir/index.js"(exports2, module2) {
- "use strict";
- var path = require("path");
- var findUp = require_find_up();
- var pkgDir = async (cwd) => {
- const filePath = await findUp("package.json", {
- cwd
- });
- return filePath && path.dirname(filePath);
- };
- module2.exports = pkgDir;
- module2.exports.default = pkgDir;
- module2.exports.sync = (cwd) => {
- const filePath = findUp.sync("package.json", {
- cwd
- });
- return filePath && path.dirname(filePath);
- };
- }
-});
-var require_semver = __commonJS2({
- "node_modules/make-dir/node_modules/semver/semver.js"(exports2, module2) {
- exports2 = module2.exports = SemVer;
- var debug;
- if (typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) {
- debug = function() {
- var args = Array.prototype.slice.call(arguments, 0);
- args.unshift("SEMVER");
- console.log.apply(console, args);
- };
- } else {
- debug = function() {
- };
- }
- exports2.SEMVER_SPEC_VERSION = "2.0.0";
- var MAX_LENGTH = 256;
- var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
- var MAX_SAFE_COMPONENT_LENGTH = 16;
- var re = exports2.re = [];
- var src = exports2.src = [];
- var t = exports2.tokens = {};
- var R = 0;
- function tok(n) {
- t[n] = R++;
- }
- tok("NUMERICIDENTIFIER");
- src[t.NUMERICIDENTIFIER] = "0|[1-9]\\d*";
- tok("NUMERICIDENTIFIERLOOSE");
- src[t.NUMERICIDENTIFIERLOOSE] = "[0-9]+";
- tok("NONNUMERICIDENTIFIER");
- src[t.NONNUMERICIDENTIFIER] = "\\d*[a-zA-Z-][a-zA-Z0-9-]*";
- tok("MAINVERSION");
- src[t.MAINVERSION] = "(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")\\.(" + src[t.NUMERICIDENTIFIER] + ")";
- tok("MAINVERSIONLOOSE");
- src[t.MAINVERSIONLOOSE] = "(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")\\.(" + src[t.NUMERICIDENTIFIERLOOSE] + ")";
- tok("PRERELEASEIDENTIFIER");
- src[t.PRERELEASEIDENTIFIER] = "(?:" + src[t.NUMERICIDENTIFIER] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
- tok("PRERELEASEIDENTIFIERLOOSE");
- src[t.PRERELEASEIDENTIFIERLOOSE] = "(?:" + src[t.NUMERICIDENTIFIERLOOSE] + "|" + src[t.NONNUMERICIDENTIFIER] + ")";
- tok("PRERELEASE");
- src[t.PRERELEASE] = "(?:-(" + src[t.PRERELEASEIDENTIFIER] + "(?:\\." + src[t.PRERELEASEIDENTIFIER] + ")*))";
- tok("PRERELEASELOOSE");
- src[t.PRERELEASELOOSE] = "(?:-?(" + src[t.PRERELEASEIDENTIFIERLOOSE] + "(?:\\." + src[t.PRERELEASEIDENTIFIERLOOSE] + ")*))";
- tok("BUILDIDENTIFIER");
- src[t.BUILDIDENTIFIER] = "[0-9A-Za-z-]+";
- tok("BUILD");
- src[t.BUILD] = "(?:\\+(" + src[t.BUILDIDENTIFIER] + "(?:\\." + src[t.BUILDIDENTIFIER] + ")*))";
- tok("FULL");
- tok("FULLPLAIN");
- src[t.FULLPLAIN] = "v?" + src[t.MAINVERSION] + src[t.PRERELEASE] + "?" + src[t.BUILD] + "?";
- src[t.FULL] = "^" + src[t.FULLPLAIN] + "$";
- tok("LOOSEPLAIN");
- src[t.LOOSEPLAIN] = "[v=\\s]*" + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + "?" + src[t.BUILD] + "?";
- tok("LOOSE");
- src[t.LOOSE] = "^" + src[t.LOOSEPLAIN] + "$";
- tok("GTLT");
- src[t.GTLT] = "((?:<|>)?=?)";
- tok("XRANGEIDENTIFIERLOOSE");
- src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + "|x|X|\\*";
- tok("XRANGEIDENTIFIER");
- src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + "|x|X|\\*";
- tok("XRANGEPLAIN");
- src[t.XRANGEPLAIN] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:\\.(" + src[t.XRANGEIDENTIFIER] + ")(?:" + src[t.PRERELEASE] + ")?" + src[t.BUILD] + "?)?)?";
- tok("XRANGEPLAINLOOSE");
- src[t.XRANGEPLAINLOOSE] = "[v=\\s]*(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:\\.(" + src[t.XRANGEIDENTIFIERLOOSE] + ")(?:" + src[t.PRERELEASELOOSE] + ")?" + src[t.BUILD] + "?)?)?";
- tok("XRANGE");
- src[t.XRANGE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAIN] + "$";
- tok("XRANGELOOSE");
- src[t.XRANGELOOSE] = "^" + src[t.GTLT] + "\\s*" + src[t.XRANGEPLAINLOOSE] + "$";
- tok("COERCE");
- src[t.COERCE] = "(^|[^\\d])(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "})(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:\\.(\\d{1," + MAX_SAFE_COMPONENT_LENGTH + "}))?(?:$|[^\\d])";
- tok("COERCERTL");
- re[t.COERCERTL] = new RegExp(src[t.COERCE], "g");
- tok("LONETILDE");
- src[t.LONETILDE] = "(?:~>?)";
- tok("TILDETRIM");
- src[t.TILDETRIM] = "(\\s*)" + src[t.LONETILDE] + "\\s+";
- re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], "g");
- var tildeTrimReplace = "$1~";
- tok("TILDE");
- src[t.TILDE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAIN] + "$";
- tok("TILDELOOSE");
- src[t.TILDELOOSE] = "^" + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + "$";
- tok("LONECARET");
- src[t.LONECARET] = "(?:\\^)";
- tok("CARETTRIM");
- src[t.CARETTRIM] = "(\\s*)" + src[t.LONECARET] + "\\s+";
- re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], "g");
- var caretTrimReplace = "$1^";
- tok("CARET");
- src[t.CARET] = "^" + src[t.LONECARET] + src[t.XRANGEPLAIN] + "$";
- tok("CARETLOOSE");
- src[t.CARETLOOSE] = "^" + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + "$";
- tok("COMPARATORLOOSE");
- src[t.COMPARATORLOOSE] = "^" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + ")$|^$";
- tok("COMPARATOR");
- src[t.COMPARATOR] = "^" + src[t.GTLT] + "\\s*(" + src[t.FULLPLAIN] + ")$|^$";
- tok("COMPARATORTRIM");
- src[t.COMPARATORTRIM] = "(\\s*)" + src[t.GTLT] + "\\s*(" + src[t.LOOSEPLAIN] + "|" + src[t.XRANGEPLAIN] + ")";
- re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], "g");
- var comparatorTrimReplace = "$1$2$3";
- tok("HYPHENRANGE");
- src[t.HYPHENRANGE] = "^\\s*(" + src[t.XRANGEPLAIN] + ")\\s+-\\s+(" + src[t.XRANGEPLAIN] + ")\\s*$";
- tok("HYPHENRANGELOOSE");
- src[t.HYPHENRANGELOOSE] = "^\\s*(" + src[t.XRANGEPLAINLOOSE] + ")\\s+-\\s+(" + src[t.XRANGEPLAINLOOSE] + ")\\s*$";
- tok("STAR");
- src[t.STAR] = "(<|>)?=?\\s*\\*";
- for (i = 0; i < R; i++) {
- debug(i, src[i]);
- if (!re[i]) {
- re[i] = new RegExp(src[i]);
- }
- }
- var i;
- exports2.parse = parse;
- function parse(version, options) {
- if (!options || typeof options !== "object") {
- options = {
- loose: !!options,
- includePrerelease: false
- };
- }
- if (version instanceof SemVer) {
- return version;
- }
- if (typeof version !== "string") {
- return null;
- }
- if (version.length > MAX_LENGTH) {
- return null;
- }
- var r = options.loose ? re[t.LOOSE] : re[t.FULL];
- if (!r.test(version)) {
- return null;
- }
- try {
- return new SemVer(version, options);
- } catch (er) {
- return null;
- }
- }
- exports2.valid = valid;
- function valid(version, options) {
- var v = parse(version, options);
- return v ? v.version : null;
- }
- exports2.clean = clean;
- function clean(version, options) {
- var s = parse(version.trim().replace(/^[=v]+/, ""), options);
- return s ? s.version : null;
- }
- exports2.SemVer = SemVer;
- function SemVer(version, options) {
- if (!options || typeof options !== "object") {
- options = {
- loose: !!options,
- includePrerelease: false
- };
- }
- if (version instanceof SemVer) {
- if (version.loose === options.loose) {
- return version;
- } else {
- version = version.version;
- }
- } else if (typeof version !== "string") {
- throw new TypeError("Invalid Version: " + version);
- }
- if (version.length > MAX_LENGTH) {
- throw new TypeError("version is longer than " + MAX_LENGTH + " characters");
- }
- if (!(this instanceof SemVer)) {
- return new SemVer(version, options);
- }
- debug("SemVer", version, options);
- this.options = options;
- this.loose = !!options.loose;
- var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
- if (!m) {
- throw new TypeError("Invalid Version: " + version);
- }
- this.raw = version;
- this.major = +m[1];
- this.minor = +m[2];
- this.patch = +m[3];
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
- throw new TypeError("Invalid major version");
- }
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
- throw new TypeError("Invalid minor version");
- }
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
- throw new TypeError("Invalid patch version");
- }
- if (!m[4]) {
- this.prerelease = [];
- } else {
- this.prerelease = m[4].split(".").map(function(id) {
- if (/^[0-9]+$/.test(id)) {
- var num = +id;
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
- return num;
- }
- }
- return id;
- });
- }
- this.build = m[5] ? m[5].split(".") : [];
- this.format();
- }
- SemVer.prototype.format = function() {
- this.version = this.major + "." + this.minor + "." + this.patch;
- if (this.prerelease.length) {
- this.version += "-" + this.prerelease.join(".");
- }
- return this.version;
- };
- SemVer.prototype.toString = function() {
- return this.version;
- };
- SemVer.prototype.compare = function(other) {
- debug("SemVer.compare", this.version, this.options, other);
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options);
- }
- return this.compareMain(other) || this.comparePre(other);
- };
- SemVer.prototype.compareMain = function(other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options);
- }
- return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
- };
- SemVer.prototype.comparePre = function(other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options);
- }
- if (this.prerelease.length && !other.prerelease.length) {
- return -1;
- } else if (!this.prerelease.length && other.prerelease.length) {
- return 1;
- } else if (!this.prerelease.length && !other.prerelease.length) {
- return 0;
- }
- var i2 = 0;
- do {
- var a = this.prerelease[i2];
- var b = other.prerelease[i2];
- debug("prerelease compare", i2, a, b);
- if (a === void 0 && b === void 0) {
- return 0;
- } else if (b === void 0) {
- return 1;
- } else if (a === void 0) {
- return -1;
- } else if (a === b) {
- continue;
- } else {
- return compareIdentifiers(a, b);
- }
- } while (++i2);
- };
- SemVer.prototype.compareBuild = function(other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options);
- }
- var i2 = 0;
- do {
- var a = this.build[i2];
- var b = other.build[i2];
- debug("prerelease compare", i2, a, b);
- if (a === void 0 && b === void 0) {
- return 0;
- } else if (b === void 0) {
- return 1;
- } else if (a === void 0) {
- return -1;
- } else if (a === b) {
- continue;
- } else {
- return compareIdentifiers(a, b);
- }
- } while (++i2);
- };
- SemVer.prototype.inc = function(release, identifier) {
- switch (release) {
- case "premajor":
- this.prerelease.length = 0;
- this.patch = 0;
- this.minor = 0;
- this.major++;
- this.inc("pre", identifier);
- break;
- case "preminor":
- this.prerelease.length = 0;
- this.patch = 0;
- this.minor++;
- this.inc("pre", identifier);
- break;
- case "prepatch":
- this.prerelease.length = 0;
- this.inc("patch", identifier);
- this.inc("pre", identifier);
- break;
- case "prerelease":
- if (this.prerelease.length === 0) {
- this.inc("patch", identifier);
- }
- this.inc("pre", identifier);
- break;
- case "major":
- if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
- this.major++;
- }
- this.minor = 0;
- this.patch = 0;
- this.prerelease = [];
- break;
- case "minor":
- if (this.patch !== 0 || this.prerelease.length === 0) {
- this.minor++;
- }
- this.patch = 0;
- this.prerelease = [];
- break;
- case "patch":
- if (this.prerelease.length === 0) {
- this.patch++;
- }
- this.prerelease = [];
- break;
- case "pre":
- if (this.prerelease.length === 0) {
- this.prerelease = [0];
- } else {
- var i2 = this.prerelease.length;
- while (--i2 >= 0) {
- if (typeof this.prerelease[i2] === "number") {
- this.prerelease[i2]++;
- i2 = -2;
- }
- }
- if (i2 === -1) {
- this.prerelease.push(0);
- }
- }
- if (identifier) {
- if (this.prerelease[0] === identifier) {
- if (isNaN(this.prerelease[1])) {
- this.prerelease = [identifier, 0];
- }
- } else {
- this.prerelease = [identifier, 0];
- }
- }
- break;
- default:
- throw new Error("invalid increment argument: " + release);
- }
- this.format();
- this.raw = this.version;
- return this;
- };
- exports2.inc = inc;
- function inc(version, release, loose, identifier) {
- if (typeof loose === "string") {
- identifier = loose;
- loose = void 0;
- }
- try {
- return new SemVer(version, loose).inc(release, identifier).version;
- } catch (er) {
- return null;
- }
- }
- exports2.diff = diff;
- function diff(version1, version2) {
- if (eq(version1, version2)) {
- return null;
- } else {
- var v1 = parse(version1);
- var v2 = parse(version2);
- var prefix = "";
- if (v1.prerelease.length || v2.prerelease.length) {
- prefix = "pre";
- var defaultResult = "prerelease";
- }
- for (var key in v1) {
- if (key === "major" || key === "minor" || key === "patch") {
- if (v1[key] !== v2[key]) {
- return prefix + key;
- }
- }
- }
- return defaultResult;
- }
- }
- exports2.compareIdentifiers = compareIdentifiers;
- var numeric = /^[0-9]+$/;
- function compareIdentifiers(a, b) {
- var anum = numeric.test(a);
- var bnum = numeric.test(b);
- if (anum && bnum) {
- a = +a;
- b = +b;
- }
- return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
- }
- exports2.rcompareIdentifiers = rcompareIdentifiers;
- function rcompareIdentifiers(a, b) {
- return compareIdentifiers(b, a);
- }
- exports2.major = major;
- function major(a, loose) {
- return new SemVer(a, loose).major;
- }
- exports2.minor = minor;
- function minor(a, loose) {
- return new SemVer(a, loose).minor;
- }
- exports2.patch = patch;
- function patch(a, loose) {
- return new SemVer(a, loose).patch;
- }
- exports2.compare = compare;
- function compare(a, b, loose) {
- return new SemVer(a, loose).compare(new SemVer(b, loose));
- }
- exports2.compareLoose = compareLoose;
- function compareLoose(a, b) {
- return compare(a, b, true);
- }
- exports2.compareBuild = compareBuild;
- function compareBuild(a, b, loose) {
- var versionA = new SemVer(a, loose);
- var versionB = new SemVer(b, loose);
- return versionA.compare(versionB) || versionA.compareBuild(versionB);
- }
- exports2.rcompare = rcompare;
- function rcompare(a, b, loose) {
- return compare(b, a, loose);
- }
- exports2.sort = sort;
- function sort(list, loose) {
- return list.sort(function(a, b) {
- return exports2.compareBuild(a, b, loose);
- });
- }
- exports2.rsort = rsort;
- function rsort(list, loose) {
- return list.sort(function(a, b) {
- return exports2.compareBuild(b, a, loose);
- });
- }
- exports2.gt = gt;
- function gt(a, b, loose) {
- return compare(a, b, loose) > 0;
- }
- exports2.lt = lt;
- function lt(a, b, loose) {
- return compare(a, b, loose) < 0;
- }
- exports2.eq = eq;
- function eq(a, b, loose) {
- return compare(a, b, loose) === 0;
- }
- exports2.neq = neq;
- function neq(a, b, loose) {
- return compare(a, b, loose) !== 0;
- }
- exports2.gte = gte;
- function gte(a, b, loose) {
- return compare(a, b, loose) >= 0;
- }
- exports2.lte = lte;
- function lte(a, b, loose) {
- return compare(a, b, loose) <= 0;
- }
- exports2.cmp = cmp;
- function cmp(a, op, b, loose) {
- switch (op) {
- case "===":
- if (typeof a === "object")
- a = a.version;
- if (typeof b === "object")
- b = b.version;
- return a === b;
- case "!==":
- if (typeof a === "object")
- a = a.version;
- if (typeof b === "object")
- b = b.version;
- return a !== b;
- case "":
- case "=":
- case "==":
- return eq(a, b, loose);
- case "!=":
- return neq(a, b, loose);
- case ">":
- return gt(a, b, loose);
- case ">=":
- return gte(a, b, loose);
- case "<":
- return lt(a, b, loose);
- case "<=":
- return lte(a, b, loose);
- default:
- throw new TypeError("Invalid operator: " + op);
- }
- }
- exports2.Comparator = Comparator;
- function Comparator(comp, options) {
- if (!options || typeof options !== "object") {
- options = {
- loose: !!options,
- includePrerelease: false
- };
- }
- if (comp instanceof Comparator) {
- if (comp.loose === !!options.loose) {
- return comp;
- } else {
- comp = comp.value;
- }
- }
- if (!(this instanceof Comparator)) {
- return new Comparator(comp, options);
- }
- debug("comparator", comp, options);
- this.options = options;
- this.loose = !!options.loose;
- this.parse(comp);
- if (this.semver === ANY) {
- this.value = "";
- } else {
- this.value = this.operator + this.semver.version;
- }
- debug("comp", this);
- }
- var ANY = {};
- Comparator.prototype.parse = function(comp) {
- var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
- var m = comp.match(r);
- if (!m) {
- throw new TypeError("Invalid comparator: " + comp);
- }
- this.operator = m[1] !== void 0 ? m[1] : "";
- if (this.operator === "=") {
- this.operator = "";
- }
- if (!m[2]) {
- this.semver = ANY;
- } else {
- this.semver = new SemVer(m[2], this.options.loose);
- }
- };
- Comparator.prototype.toString = function() {
- return this.value;
- };
- Comparator.prototype.test = function(version) {
- debug("Comparator.test", version, this.options.loose);
- if (this.semver === ANY || version === ANY) {
- return true;
- }
- if (typeof version === "string") {
- try {
- version = new SemVer(version, this.options);
- } catch (er) {
- return false;
- }
- }
- return cmp(version, this.operator, this.semver, this.options);
- };
- Comparator.prototype.intersects = function(comp, options) {
- if (!(comp instanceof Comparator)) {
- throw new TypeError("a Comparator is required");
- }
- if (!options || typeof options !== "object") {
- options = {
- loose: !!options,
- includePrerelease: false
- };
- }
- var rangeTmp;
- if (this.operator === "") {
- if (this.value === "") {
- return true;
- }
- rangeTmp = new Range(comp.value, options);
- return satisfies(this.value, rangeTmp, options);
- } else if (comp.operator === "") {
- if (comp.value === "") {
- return true;
- }
- rangeTmp = new Range(this.value, options);
- return satisfies(comp.semver, rangeTmp, options);
- }
- var sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
- var sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
- var sameSemVer = this.semver.version === comp.semver.version;
- var differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
- var oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && (this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<");
- var oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && (this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">");
- return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
- };
- exports2.Range = Range;
- function Range(range, options) {
- if (!options || typeof options !== "object") {
- options = {
- loose: !!options,
- includePrerelease: false
- };
- }
- if (range instanceof Range) {
- if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
- return range;
- } else {
- return new Range(range.raw, options);
- }
- }
- if (range instanceof Comparator) {
- return new Range(range.value, options);
- }
- if (!(this instanceof Range)) {
- return new Range(range, options);
- }
- this.options = options;
- this.loose = !!options.loose;
- this.includePrerelease = !!options.includePrerelease;
- this.raw = range;
- this.set = range.split(/\s*\|\|\s*/).map(function(range2) {
- return this.parseRange(range2.trim());
- }, this).filter(function(c) {
- return c.length;
- });
- if (!this.set.length) {
- throw new TypeError("Invalid SemVer Range: " + range);
- }
- this.format();
- }
- Range.prototype.format = function() {
- this.range = this.set.map(function(comps) {
- return comps.join(" ").trim();
- }).join("||").trim();
- return this.range;
- };
- Range.prototype.toString = function() {
- return this.range;
- };
- Range.prototype.parseRange = function(range) {
- var loose = this.options.loose;
- range = range.trim();
- var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
- range = range.replace(hr, hyphenReplace);
- debug("hyphen replace", range);
- range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
- debug("comparator trim", range, re[t.COMPARATORTRIM]);
- range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
- range = range.replace(re[t.CARETTRIM], caretTrimReplace);
- range = range.split(/\s+/).join(" ");
- var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
- var set = range.split(" ").map(function(comp) {
- return parseComparator(comp, this.options);
- }, this).join(" ").split(/\s+/);
- if (this.options.loose) {
- set = set.filter(function(comp) {
- return !!comp.match(compRe);
- });
- }
- set = set.map(function(comp) {
- return new Comparator(comp, this.options);
- }, this);
- return set;
- };
- Range.prototype.intersects = function(range, options) {
- if (!(range instanceof Range)) {
- throw new TypeError("a Range is required");
- }
- return this.set.some(function(thisComparators) {
- return isSatisfiable(thisComparators, options) && range.set.some(function(rangeComparators) {
- return isSatisfiable(rangeComparators, options) && thisComparators.every(function(thisComparator) {
- return rangeComparators.every(function(rangeComparator) {
- return thisComparator.intersects(rangeComparator, options);
- });
- });
- });
- });
- };
- function isSatisfiable(comparators, options) {
- var result = true;
- var remainingComparators = comparators.slice();
- var testComparator = remainingComparators.pop();
- while (result && remainingComparators.length) {
- result = remainingComparators.every(function(otherComparator) {
- return testComparator.intersects(otherComparator, options);
- });
- testComparator = remainingComparators.pop();
- }
- return result;
- }
- exports2.toComparators = toComparators;
- function toComparators(range, options) {
- return new Range(range, options).set.map(function(comp) {
- return comp.map(function(c) {
- return c.value;
- }).join(" ").trim().split(" ");
- });
- }
- function parseComparator(comp, options) {
- debug("comp", comp, options);
- comp = replaceCarets(comp, options);
- debug("caret", comp);
- comp = replaceTildes(comp, options);
- debug("tildes", comp);
- comp = replaceXRanges(comp, options);
- debug("xrange", comp);
- comp = replaceStars(comp, options);
- debug("stars", comp);
- return comp;
- }
- function isX(id) {
- return !id || id.toLowerCase() === "x" || id === "*";
- }
- function replaceTildes(comp, options) {
- return comp.trim().split(/\s+/).map(function(comp2) {
- return replaceTilde(comp2, options);
- }).join(" ");
- }
- function replaceTilde(comp, options) {
- var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
- return comp.replace(r, function(_, M, m, p, pr) {
- debug("tilde", comp, _, M, m, p, pr);
- var ret;
- if (isX(M)) {
- ret = "";
- } else if (isX(m)) {
- ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
- } else if (isX(p)) {
- ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
- } else if (pr) {
- debug("replaceTilde pr", pr);
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
- } else {
- ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
- }
- debug("tilde return", ret);
- return ret;
- });
- }
- function replaceCarets(comp, options) {
- return comp.trim().split(/\s+/).map(function(comp2) {
- return replaceCaret(comp2, options);
- }).join(" ");
- }
- function replaceCaret(comp, options) {
- debug("caret", comp, options);
- var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
- return comp.replace(r, function(_, M, m, p, pr) {
- debug("caret", comp, _, M, m, p, pr);
- var ret;
- if (isX(M)) {
- ret = "";
- } else if (isX(m)) {
- ret = ">=" + M + ".0.0 <" + (+M + 1) + ".0.0";
- } else if (isX(p)) {
- if (M === "0") {
- ret = ">=" + M + "." + m + ".0 <" + M + "." + (+m + 1) + ".0";
- } else {
- ret = ">=" + M + "." + m + ".0 <" + (+M + 1) + ".0.0";
- }
- } else if (pr) {
- debug("replaceCaret pr", pr);
- if (M === "0") {
- if (m === "0") {
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + m + "." + (+p + 1);
- } else {
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + M + "." + (+m + 1) + ".0";
- }
- } else {
- ret = ">=" + M + "." + m + "." + p + "-" + pr + " <" + (+M + 1) + ".0.0";
- }
- } else {
- debug("no pr");
- if (M === "0") {
- if (m === "0") {
- ret = ">=" + M + "." + m + "." + p + " <" + M + "." + m + "." + (+p + 1);
- } else {
- ret = ">=" + M + "." + m + "." + p + " <" + M + "." + (+m + 1) + ".0";
- }
- } else {
- ret = ">=" + M + "." + m + "." + p + " <" + (+M + 1) + ".0.0";
- }
- }
- debug("caret return", ret);
- return ret;
- });
- }
- function replaceXRanges(comp, options) {
- debug("replaceXRanges", comp, options);
- return comp.split(/\s+/).map(function(comp2) {
- return replaceXRange(comp2, options);
- }).join(" ");
- }
- function replaceXRange(comp, options) {
- comp = comp.trim();
- var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
- return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
- debug("xRange", comp, ret, gtlt, M, m, p, pr);
- var xM = isX(M);
- var xm = xM || isX(m);
- var xp = xm || isX(p);
- var anyX = xp;
- if (gtlt === "=" && anyX) {
- gtlt = "";
- }
- pr = options.includePrerelease ? "-0" : "";
- if (xM) {
- if (gtlt === ">" || gtlt === "<") {
- ret = "<0.0.0-0";
- } else {
- ret = "*";
- }
- } else if (gtlt && anyX) {
- if (xm) {
- m = 0;
- }
- p = 0;
- if (gtlt === ">") {
- gtlt = ">=";
- if (xm) {
- M = +M + 1;
- m = 0;
- p = 0;
- } else {
- m = +m + 1;
- p = 0;
- }
- } else if (gtlt === "<=") {
- gtlt = "<";
- if (xm) {
- M = +M + 1;
- } else {
- m = +m + 1;
- }
- }
- ret = gtlt + M + "." + m + "." + p + pr;
- } else if (xm) {
- ret = ">=" + M + ".0.0" + pr + " <" + (+M + 1) + ".0.0" + pr;
- } else if (xp) {
- ret = ">=" + M + "." + m + ".0" + pr + " <" + M + "." + (+m + 1) + ".0" + pr;
- }
- debug("xRange return", ret);
- return ret;
- });
- }
- function replaceStars(comp, options) {
- debug("replaceStars", comp, options);
- return comp.trim().replace(re[t.STAR], "");
- }
- function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) {
- if (isX(fM)) {
- from = "";
- } else if (isX(fm)) {
- from = ">=" + fM + ".0.0";
- } else if (isX(fp)) {
- from = ">=" + fM + "." + fm + ".0";
- } else {
- from = ">=" + from;
- }
- if (isX(tM)) {
- to = "";
- } else if (isX(tm)) {
- to = "<" + (+tM + 1) + ".0.0";
- } else if (isX(tp)) {
- to = "<" + tM + "." + (+tm + 1) + ".0";
- } else if (tpr) {
- to = "<=" + tM + "." + tm + "." + tp + "-" + tpr;
- } else {
- to = "<=" + to;
- }
- return (from + " " + to).trim();
- }
- Range.prototype.test = function(version) {
- if (!version) {
- return false;
- }
- if (typeof version === "string") {
- try {
- version = new SemVer(version, this.options);
- } catch (er) {
- return false;
- }
- }
- for (var i2 = 0; i2 < this.set.length; i2++) {
- if (testSet(this.set[i2], version, this.options)) {
- return true;
- }
- }
- return false;
- };
- function testSet(set, version, options) {
- for (var i2 = 0; i2 < set.length; i2++) {
- if (!set[i2].test(version)) {
- return false;
- }
- }
- if (version.prerelease.length && !options.includePrerelease) {
- for (i2 = 0; i2 < set.length; i2++) {
- debug(set[i2].semver);
- if (set[i2].semver === ANY) {
- continue;
- }
- if (set[i2].semver.prerelease.length > 0) {
- var allowed = set[i2].semver;
- if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
- return true;
- }
- }
- }
- return false;
- }
- return true;
- }
- exports2.satisfies = satisfies;
- function satisfies(version, range, options) {
- try {
- range = new Range(range, options);
- } catch (er) {
- return false;
- }
- return range.test(version);
- }
- exports2.maxSatisfying = maxSatisfying;
- function maxSatisfying(versions, range, options) {
- var max = null;
- var maxSV = null;
- try {
- var rangeObj = new Range(range, options);
- } catch (er) {
- return null;
- }
- versions.forEach(function(v) {
- if (rangeObj.test(v)) {
- if (!max || maxSV.compare(v) === -1) {
- max = v;
- maxSV = new SemVer(max, options);
- }
- }
- });
- return max;
- }
- exports2.minSatisfying = minSatisfying;
- function minSatisfying(versions, range, options) {
- var min = null;
- var minSV = null;
- try {
- var rangeObj = new Range(range, options);
- } catch (er) {
- return null;
- }
- versions.forEach(function(v) {
- if (rangeObj.test(v)) {
- if (!min || minSV.compare(v) === 1) {
- min = v;
- minSV = new SemVer(min, options);
- }
- }
- });
- return min;
- }
- exports2.minVersion = minVersion;
- function minVersion(range, loose) {
- range = new Range(range, loose);
- var minver = new SemVer("0.0.0");
- if (range.test(minver)) {
- return minver;
- }
- minver = new SemVer("0.0.0-0");
- if (range.test(minver)) {
- return minver;
- }
- minver = null;
- for (var i2 = 0; i2 < range.set.length; ++i2) {
- var comparators = range.set[i2];
- comparators.forEach(function(comparator) {
- var compver = new SemVer(comparator.semver.version);
- switch (comparator.operator) {
- case ">":
- if (compver.prerelease.length === 0) {
- compver.patch++;
- } else {
- compver.prerelease.push(0);
- }
- compver.raw = compver.format();
- case "":
- case ">=":
- if (!minver || gt(minver, compver)) {
- minver = compver;
- }
- break;
- case "<":
- case "<=":
- break;
- default:
- throw new Error("Unexpected operation: " + comparator.operator);
- }
- });
- }
- if (minver && range.test(minver)) {
- return minver;
- }
- return null;
- }
- exports2.validRange = validRange;
- function validRange(range, options) {
- try {
- return new Range(range, options).range || "*";
- } catch (er) {
- return null;
- }
- }
- exports2.ltr = ltr;
- function ltr(version, range, options) {
- return outside(version, range, "<", options);
- }
- exports2.gtr = gtr;
- function gtr(version, range, options) {
- return outside(version, range, ">", options);
- }
- exports2.outside = outside;
- function outside(version, range, hilo, options) {
- version = new SemVer(version, options);
- range = new Range(range, options);
- var gtfn, ltefn, ltfn, comp, ecomp;
- switch (hilo) {
- case ">":
- gtfn = gt;
- ltefn = lte;
- ltfn = lt;
- comp = ">";
- ecomp = ">=";
- break;
- case "<":
- gtfn = lt;
- ltefn = gte;
- ltfn = gt;
- comp = "<";
- ecomp = "<=";
- break;
- default:
- throw new TypeError('Must provide a hilo val of "<" or ">"');
- }
- if (satisfies(version, range, options)) {
- return false;
- }
- for (var i2 = 0; i2 < range.set.length; ++i2) {
- var comparators = range.set[i2];
- var high = null;
- var low = null;
- comparators.forEach(function(comparator) {
- if (comparator.semver === ANY) {
- comparator = new Comparator(">=0.0.0");
- }
- high = high || comparator;
- low = low || comparator;
- if (gtfn(comparator.semver, high.semver, options)) {
- high = comparator;
- } else if (ltfn(comparator.semver, low.semver, options)) {
- low = comparator;
- }
- });
- if (high.operator === comp || high.operator === ecomp) {
- return false;
- }
- if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
- return false;
- } else if (low.operator === ecomp && ltfn(version, low.semver)) {
- return false;
- }
- }
- return true;
- }
- exports2.prerelease = prerelease;
- function prerelease(version, options) {
- var parsed = parse(version, options);
- return parsed && parsed.prerelease.length ? parsed.prerelease : null;
- }
- exports2.intersects = intersects;
- function intersects(r1, r2, options) {
- r1 = new Range(r1, options);
- r2 = new Range(r2, options);
- return r1.intersects(r2);
- }
- exports2.coerce = coerce;
- function coerce(version, options) {
- if (version instanceof SemVer) {
- return version;
- }
- if (typeof version === "number") {
- version = String(version);
- }
- if (typeof version !== "string") {
- return null;
- }
- options = options || {};
- var match = null;
- if (!options.rtl) {
- match = version.match(re[t.COERCE]);
- } else {
- var next;
- while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
- if (!match || next.index + next[0].length !== match.index + match[0].length) {
- match = next;
- }
- re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
- }
- re[t.COERCERTL].lastIndex = -1;
- }
- if (match === null) {
- return null;
- }
- return parse(match[2] + "." + (match[3] || "0") + "." + (match[4] || "0"), options);
- }
- }
-});
-var require_make_dir = __commonJS2({
- "node_modules/make-dir/index.js"(exports2, module2) {
- "use strict";
- var fs = require("fs");
- var path = require("path");
- var {
- promisify
- } = require("util");
- var semver = require_semver();
- var useNativeRecursiveOption = semver.satisfies(process.version, ">=10.12.0");
- var checkPath = (pth) => {
- if (process.platform === "win32") {
- const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path.parse(pth).root, ""));
- if (pathHasInvalidWinCharacters) {
- const error = new Error(`Path contains invalid characters: ${pth}`);
- error.code = "EINVAL";
- throw error;
- }
- }
- };
- var processOptions = (options) => {
- const defaults = {
- mode: 511,
- fs
- };
- return Object.assign(Object.assign({}, defaults), options);
- };
- var permissionError = (pth) => {
- const error = new Error(`operation not permitted, mkdir '${pth}'`);
- error.code = "EPERM";
- error.errno = -4048;
- error.path = pth;
- error.syscall = "mkdir";
- return error;
- };
- var makeDir = async (input, options) => {
- checkPath(input);
- options = processOptions(options);
- const mkdir = promisify(options.fs.mkdir);
- const stat = promisify(options.fs.stat);
- if (useNativeRecursiveOption && options.fs.mkdir === fs.mkdir) {
- const pth = path.resolve(input);
- await mkdir(pth, {
- mode: options.mode,
- recursive: true
- });
- return pth;
- }
- const make = async (pth) => {
- try {
- await mkdir(pth, options.mode);
- return pth;
- } catch (error) {
- if (error.code === "EPERM") {
- throw error;
- }
- if (error.code === "ENOENT") {
- if (path.dirname(pth) === pth) {
- throw permissionError(pth);
- }
- if (error.message.includes("null bytes")) {
- throw error;
- }
- await make(path.dirname(pth));
- return make(pth);
- }
- try {
- const stats = await stat(pth);
- if (!stats.isDirectory()) {
- throw new Error("The path is not a directory");
- }
- } catch (_) {
- throw error;
- }
- return pth;
- }
- };
- return make(path.resolve(input));
- };
- module2.exports = makeDir;
- module2.exports.sync = (input, options) => {
- checkPath(input);
- options = processOptions(options);
- if (useNativeRecursiveOption && options.fs.mkdirSync === fs.mkdirSync) {
- const pth = path.resolve(input);
- fs.mkdirSync(pth, {
- mode: options.mode,
- recursive: true
- });
- return pth;
- }
- const make = (pth) => {
- try {
- options.fs.mkdirSync(pth, options.mode);
- } catch (error) {
- if (error.code === "EPERM") {
- throw error;
- }
- if (error.code === "ENOENT") {
- if (path.dirname(pth) === pth) {
- throw permissionError(pth);
- }
- if (error.message.includes("null bytes")) {
- throw error;
- }
- make(path.dirname(pth));
- return make(pth);
- }
- try {
- if (!options.fs.statSync(pth).isDirectory()) {
- throw new Error("The path is not a directory");
- }
- } catch (_) {
- throw error;
- }
- }
- return pth;
- };
- return make(path.resolve(input));
- };
- }
-});
-var require_find_cache_dir = __commonJS2({
- "node_modules/find-cache-dir/index.js"(exports2, module2) {
- "use strict";
- var path = require("path");
- var fs = require("fs");
- var commonDir = require_commondir();
- var pkgDir = require_pkg_dir();
- var makeDir = require_make_dir();
- var {
- env: env2,
- cwd
- } = process;
- var isWritable = (path2) => {
- try {
- fs.accessSync(path2, fs.constants.W_OK);
- return true;
- } catch (_) {
- return false;
- }
- };
- function useDirectory(directory, options) {
- if (options.create) {
- makeDir.sync(directory);
- }
- if (options.thunk) {
- return (...arguments_) => path.join(directory, ...arguments_);
- }
- return directory;
- }
- function getNodeModuleDirectory(directory) {
- const nodeModules = path.join(directory, "node_modules");
- if (!isWritable(nodeModules) && (fs.existsSync(nodeModules) || !isWritable(path.join(directory)))) {
- return;
- }
- return nodeModules;
- }
- module2.exports = (options = {}) => {
- if (env2.CACHE_DIR && !["true", "false", "1", "0"].includes(env2.CACHE_DIR)) {
- return useDirectory(path.join(env2.CACHE_DIR, options.name), options);
- }
- let {
- cwd: directory = cwd()
- } = options;
- if (options.files) {
- directory = commonDir(directory, options.files);
- }
- directory = pkgDir.sync(directory);
- if (!directory) {
- return;
- }
- const nodeModules = getNodeModuleDirectory(directory);
- if (!nodeModules) {
- return void 0;
- }
- return useDirectory(path.join(directory, "node_modules", ".cache", options.name), options);
- };
- }
-});
-var require_find_cache_file = __commonJS2({
- "src/cli/find-cache-file.js"(exports2, module2) {
- "use strict";
- var os2 = require("os");
- var path = require("path");
- var findCacheDir = require_find_cache_dir();
- function findCacheFile() {
- const cacheDir = findCacheDir({
- name: "prettier",
- create: true
- }) || os2.tmpdir();
- const cacheFilePath = path.join(cacheDir, ".prettier-cache");
- return cacheFilePath;
- }
- module2.exports = findCacheFile;
- }
-});
-var require_cjs = __commonJS2({
- "node_modules/flatted/cjs/index.js"(exports2) {
- "use strict";
- var {
- parse: $parse,
- stringify: $stringify
- } = JSON;
- var {
- keys
- } = Object;
- var Primitive = String;
- var primitive = "string";
- var ignore = {};
- var object = "object";
- var noop = (_, value) => value;
- var primitives = (value) => value instanceof Primitive ? Primitive(value) : value;
- var Primitives = (_, value) => typeof value === primitive ? new Primitive(value) : value;
- var revive = (input, parsed, output, $) => {
- const lazy = [];
- for (let ke = keys(output), {
- length
- } = ke, y = 0; y < length; y++) {
- const k = ke[y];
- const value = output[k];
- if (value instanceof Primitive) {
- const tmp = input[value];
- if (typeof tmp === object && !parsed.has(tmp)) {
- parsed.add(tmp);
- output[k] = ignore;
- lazy.push({
- k,
- a: [input, parsed, tmp, $]
- });
- } else
- output[k] = $.call(output, k, tmp);
- } else if (output[k] !== ignore)
- output[k] = $.call(output, k, value);
- }
- for (let {
- length
- } = lazy, i = 0; i < length; i++) {
- const {
- k,
- a
- } = lazy[i];
- output[k] = $.call(output, k, revive.apply(null, a));
- }
- return output;
- };
- var set = (known, input, value) => {
- const index = Primitive(input.push(value) - 1);
- known.set(value, index);
- return index;
- };
- var parse = (text, reviver) => {
- const input = $parse(text, Primitives).map(primitives);
- const value = input[0];
- const $ = reviver || noop;
- const tmp = typeof value === object && value ? revive(input, /* @__PURE__ */ new Set(), value, $) : value;
- return $.call({
- "": tmp
- }, "", tmp);
- };
- exports2.parse = parse;
- var stringify2 = (value, replacer, space) => {
- const $ = replacer && typeof replacer === object ? (k, v) => k === "" || -1 < replacer.indexOf(k) ? v : void 0 : replacer || noop;
- const known = /* @__PURE__ */ new Map();
- const input = [];
- const output = [];
- let i = +set(known, input, $.call({
- "": value
- }, "", value));
- let firstRun = !i;
- while (i < input.length) {
- firstRun = true;
- output[i] = $stringify(input[i++], replace, space);
- }
- return "[" + output.join(",") + "]";
- function replace(key, value2) {
- if (firstRun) {
- firstRun = !firstRun;
- return value2;
- }
- const after = $.call(this, key, value2);
- switch (typeof after) {
- case object:
- if (after === null)
- return after;
- case primitive:
- return known.get(after) || set(known, input, after);
- }
- return after;
- }
- };
- exports2.stringify = stringify2;
- var toJSON = (any) => $parse(stringify2(any));
- exports2.toJSON = toJSON;
- var fromJSON = (any) => parse($stringify(any));
- exports2.fromJSON = fromJSON;
- }
-});
-var require_utils6 = __commonJS2({
- "node_modules/flat-cache/src/utils.js"(exports2, module2) {
- var fs = require("fs");
- var path = require("path");
- var flatted = require_cjs();
- module2.exports = {
- tryParse: function(filePath, defaultValue) {
- var result;
- try {
- result = this.readJSON(filePath);
- } catch (ex) {
- result = defaultValue;
- }
- return result;
- },
- readJSON: function(filePath) {
- return flatted.parse(fs.readFileSync(filePath, {
- encoding: "utf8"
- }));
- },
- writeJSON: function(filePath, data) {
- fs.mkdirSync(path.dirname(filePath), {
- recursive: true
- });
- fs.writeFileSync(filePath, flatted.stringify(data));
- }
- };
- }
-});
-var require_old = __commonJS2({
- "node_modules/fs.realpath/old.js"(exports2) {
- var pathModule = require("path");
- var isWindows = process.platform === "win32";
- var fs = require("fs");
- var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);
- function rethrow() {
- var callback;
- if (DEBUG) {
- var backtrace = new Error();
- callback = debugCallback;
- } else
- callback = missingCallback;
- return callback;
- function debugCallback(err) {
- if (err) {
- backtrace.message = err.message;
- err = backtrace;
- missingCallback(err);
- }
- }
- function missingCallback(err) {
- if (err) {
- if (process.throwDeprecation)
- throw err;
- else if (!process.noDeprecation) {
- var msg = "fs: missing callback " + (err.stack || err.message);
- if (process.traceDeprecation)
- console.trace(msg);
- else
- console.error(msg);
- }
- }
- }
- }
- function maybeCallback(cb) {
- return typeof cb === "function" ? cb : rethrow();
- }
- var normalize = pathModule.normalize;
- if (isWindows) {
- nextPartRe = /(.*?)(?:[\/\\]+|$)/g;
- } else {
- nextPartRe = /(.*?)(?:[\/]+|$)/g;
- }
- var nextPartRe;
- if (isWindows) {
- splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/;
- } else {
- splitRootRe = /^[\/]*/;
- }
- var splitRootRe;
- exports2.realpathSync = function realpathSync(p, cache) {
- p = pathModule.resolve(p);
- if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
- return cache[p];
- }
- var original = p, seenLinks = {}, knownHard = {};
- var pos;
- var current;
- var base;
- var previous;
- start();
- function start() {
- var m = splitRootRe.exec(p);
- pos = m[0].length;
- current = m[0];
- base = m[0];
- previous = "";
- if (isWindows && !knownHard[base]) {
- fs.lstatSync(base);
- knownHard[base] = true;
- }
- }
- while (pos < p.length) {
- nextPartRe.lastIndex = pos;
- var result = nextPartRe.exec(p);
- previous = current;
- current += result[0];
- base = previous + result[1];
- pos = nextPartRe.lastIndex;
- if (knownHard[base] || cache && cache[base] === base) {
- continue;
- }
- var resolvedLink;
- if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
- resolvedLink = cache[base];
- } else {
- var stat = fs.lstatSync(base);
- if (!stat.isSymbolicLink()) {
- knownHard[base] = true;
- if (cache)
- cache[base] = base;
- continue;
- }
- var linkTarget = null;
- if (!isWindows) {
- var id = stat.dev.toString(32) + ":" + stat.ino.toString(32);
- if (seenLinks.hasOwnProperty(id)) {
- linkTarget = seenLinks[id];
- }
- }
- if (linkTarget === null) {
- fs.statSync(base);
- linkTarget = fs.readlinkSync(base);
- }
- resolvedLink = pathModule.resolve(previous, linkTarget);
- if (cache)
- cache[base] = resolvedLink;
- if (!isWindows)
- seenLinks[id] = linkTarget;
- }
- p = pathModule.resolve(resolvedLink, p.slice(pos));
- start();
- }
- if (cache)
- cache[original] = p;
- return p;
- };
- exports2.realpath = function realpath(p, cache, cb) {
- if (typeof cb !== "function") {
- cb = maybeCallback(cache);
- cache = null;
- }
- p = pathModule.resolve(p);
- if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
- return process.nextTick(cb.bind(null, null, cache[p]));
- }
- var original = p, seenLinks = {}, knownHard = {};
- var pos;
- var current;
- var base;
- var previous;
- start();
- function start() {
- var m = splitRootRe.exec(p);
- pos = m[0].length;
- current = m[0];
- base = m[0];
- previous = "";
- if (isWindows && !knownHard[base]) {
- fs.lstat(base, function(err) {
- if (err)
- return cb(err);
- knownHard[base] = true;
- LOOP();
- });
- } else {
- process.nextTick(LOOP);
- }
- }
- function LOOP() {
- if (pos >= p.length) {
- if (cache)
- cache[original] = p;
- return cb(null, p);
- }
- nextPartRe.lastIndex = pos;
- var result = nextPartRe.exec(p);
- previous = current;
- current += result[0];
- base = previous + result[1];
- pos = nextPartRe.lastIndex;
- if (knownHard[base] || cache && cache[base] === base) {
- return process.nextTick(LOOP);
- }
- if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
- return gotResolvedLink(cache[base]);
- }
- return fs.lstat(base, gotStat);
- }
- function gotStat(err, stat) {
- if (err)
- return cb(err);
- if (!stat.isSymbolicLink()) {
- knownHard[base] = true;
- if (cache)
- cache[base] = base;
- return process.nextTick(LOOP);
- }
- if (!isWindows) {
- var id = stat.dev.toString(32) + ":" + stat.ino.toString(32);
- if (seenLinks.hasOwnProperty(id)) {
- return gotTarget(null, seenLinks[id], base);
- }
- }
- fs.stat(base, function(err2) {
- if (err2)
- return cb(err2);
- fs.readlink(base, function(err3, target) {
- if (!isWindows)
- seenLinks[id] = target;
- gotTarget(err3, target);
- });
- });
- }
- function gotTarget(err, target, base2) {
- if (err)
- return cb(err);
- var resolvedLink = pathModule.resolve(previous, target);
- if (cache)
- cache[base2] = resolvedLink;
- gotResolvedLink(resolvedLink);
- }
- function gotResolvedLink(resolvedLink) {
- p = pathModule.resolve(resolvedLink, p.slice(pos));
- start();
- }
- };
- }
-});
-var require_fs5 = __commonJS2({
- "node_modules/fs.realpath/index.js"(exports2, module2) {
- module2.exports = realpath;
- realpath.realpath = realpath;
- realpath.sync = realpathSync;
- realpath.realpathSync = realpathSync;
- realpath.monkeypatch = monkeypatch;
- realpath.unmonkeypatch = unmonkeypatch;
- var fs = require("fs");
- var origRealpath = fs.realpath;
- var origRealpathSync = fs.realpathSync;
- var version = process.version;
- var ok = /^v[0-5]\./.test(version);
- var old = require_old();
- function newError(er) {
- return er && er.syscall === "realpath" && (er.code === "ELOOP" || er.code === "ENOMEM" || er.code === "ENAMETOOLONG");
- }
- function realpath(p, cache, cb) {
- if (ok) {
- return origRealpath(p, cache, cb);
- }
- if (typeof cache === "function") {
- cb = cache;
- cache = null;
- }
- origRealpath(p, cache, function(er, result) {
- if (newError(er)) {
- old.realpath(p, cache, cb);
- } else {
- cb(er, result);
- }
- });
- }
- function realpathSync(p, cache) {
- if (ok) {
- return origRealpathSync(p, cache);
- }
- try {
- return origRealpathSync(p, cache);
- } catch (er) {
- if (newError(er)) {
- return old.realpathSync(p, cache);
- } else {
- throw er;
- }
- }
- }
- function monkeypatch() {
- fs.realpath = realpath;
- fs.realpathSync = realpathSync;
- }
- function unmonkeypatch() {
- fs.realpath = origRealpath;
- fs.realpathSync = origRealpathSync;
- }
- }
-});
-var require_concat_map = __commonJS2({
- "node_modules/concat-map/index.js"(exports2, module2) {
- module2.exports = function(xs, fn) {
- var res = [];
- for (var i = 0; i < xs.length; i++) {
- var x = fn(xs[i], i);
- if (isArray(x))
- res.push.apply(res, x);
- else
- res.push(x);
- }
- return res;
- };
- var isArray = Array.isArray || function(xs) {
- return Object.prototype.toString.call(xs) === "[object Array]";
- };
- }
-});
-var require_balanced_match = __commonJS2({
- "node_modules/balanced-match/index.js"(exports2, module2) {
- "use strict";
- module2.exports = balanced;
- function balanced(a, b, str) {
- if (a instanceof RegExp)
- a = maybeMatch(a, str);
- if (b instanceof RegExp)
- b = maybeMatch(b, str);
- var r = range(a, b, str);
- return r && {
- start: r[0],
- end: r[1],
- pre: str.slice(0, r[0]),
- body: str.slice(r[0] + a.length, r[1]),
- post: str.slice(r[1] + b.length)
- };
- }
- function maybeMatch(reg, str) {
- var m = str.match(reg);
- return m ? m[0] : null;
- }
- balanced.range = range;
- function range(a, b, str) {
- var begs, beg, left, right, result;
- var ai = str.indexOf(a);
- var bi = str.indexOf(b, ai + 1);
- var i = ai;
- if (ai >= 0 && bi > 0) {
- if (a === b) {
- return [ai, bi];
- }
- begs = [];
- left = str.length;
- while (i >= 0 && !result) {
- if (i == ai) {
- begs.push(i);
- ai = str.indexOf(a, i + 1);
- } else if (begs.length == 1) {
- result = [begs.pop(), bi];
- } else {
- beg = begs.pop();
- if (beg < left) {
- left = beg;
- right = bi;
- }
- bi = str.indexOf(b, i + 1);
- }
- i = ai < bi && ai >= 0 ? ai : bi;
- }
- if (begs.length) {
- result = [left, right];
- }
- }
- return result;
- }
- }
-});
-var require_brace_expansion = __commonJS2({
- "node_modules/brace-expansion/index.js"(exports2, module2) {
- var concatMap = require_concat_map();
- var balanced = require_balanced_match();
- module2.exports = expandTop;
- var escSlash = "\0SLASH" + Math.random() + "\0";
- var escOpen = "\0OPEN" + Math.random() + "\0";
- var escClose = "\0CLOSE" + Math.random() + "\0";
- var escComma = "\0COMMA" + Math.random() + "\0";
- var escPeriod = "\0PERIOD" + Math.random() + "\0";
- function numeric(str) {
- return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0);
- }
- function escapeBraces(str) {
- return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
- }
- function unescapeBraces(str) {
- return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
- }
- function parseCommaParts(str) {
- if (!str)
- return [""];
- var parts = [];
- var m = balanced("{", "}", str);
- if (!m)
- return str.split(",");
- var pre = m.pre;
- var body = m.body;
- var post = m.post;
- var p = pre.split(",");
- p[p.length - 1] += "{" + body + "}";
- var postParts = parseCommaParts(post);
- if (post.length) {
- p[p.length - 1] += postParts.shift();
- p.push.apply(p, postParts);
- }
- parts.push.apply(parts, p);
- return parts;
- }
- function expandTop(str) {
- if (!str)
- return [];
- if (str.substr(0, 2) === "{}") {
- str = "\\{\\}" + str.substr(2);
- }
- return expand(escapeBraces(str), true).map(unescapeBraces);
- }
- function embrace(str) {
- return "{" + str + "}";
- }
- function isPadded(el) {
- return /^-?0\d/.test(el);
- }
- function lte(i, y) {
- return i <= y;
- }
- function gte(i, y) {
- return i >= y;
- }
- function expand(str, isTop) {
- var expansions = [];
- var m = balanced("{", "}", str);
- if (!m || /\$$/.test(m.pre))
- return [str];
- var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
- var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
- var isSequence = isNumericSequence || isAlphaSequence;
- var isOptions = m.body.indexOf(",") >= 0;
- if (!isSequence && !isOptions) {
- if (m.post.match(/,.*\}/)) {
- str = m.pre + "{" + m.body + escClose + m.post;
- return expand(str);
- }
- return [str];
- }
- var n;
- if (isSequence) {
- n = m.body.split(/\.\./);
- } else {
- n = parseCommaParts(m.body);
- if (n.length === 1) {
- n = expand(n[0], false).map(embrace);
- if (n.length === 1) {
- var post = m.post.length ? expand(m.post, false) : [""];
- return post.map(function(p) {
- return m.pre + n[0] + p;
- });
- }
- }
- }
- var pre = m.pre;
- var post = m.post.length ? expand(m.post, false) : [""];
- var N;
- if (isSequence) {
- var x = numeric(n[0]);
- var y = numeric(n[1]);
- var width = Math.max(n[0].length, n[1].length);
- var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
- var test = lte;
- var reverse = y < x;
- if (reverse) {
- incr *= -1;
- test = gte;
- }
- var pad = n.some(isPadded);
- N = [];
- for (var i = x; test(i, y); i += incr) {
- var c;
- if (isAlphaSequence) {
- c = String.fromCharCode(i);
- if (c === "\\")
- c = "";
- } else {
- c = String(i);
- if (pad) {
- var need = width - c.length;
- if (need > 0) {
- var z = new Array(need + 1).join("0");
- if (i < 0)
- c = "-" + z + c.slice(1);
- else
- c = z + c;
- }
- }
- }
- N.push(c);
- }
- } else {
- N = concatMap(n, function(el) {
- return expand(el, false);
- });
- }
- for (var j = 0; j < N.length; j++) {
- for (var k = 0; k < post.length; k++) {
- var expansion = pre + N[j] + post[k];
- if (!isTop || isSequence || expansion)
- expansions.push(expansion);
- }
- }
- return expansions;
- }
- }
-});
-var require_minimatch = __commonJS2({
- "node_modules/minimatch/minimatch.js"(exports2, module2) {
- module2.exports = minimatch;
- minimatch.Minimatch = Minimatch;
- var path = function() {
- try {
- return require("path");
- } catch (e) {
- }
- }() || {
- sep: "/"
- };
- minimatch.sep = path.sep;
- var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
- var expand = require_brace_expansion();
- var plTypes = {
- "!": {
- open: "(?:(?!(?:",
- close: "))[^/]*?)"
- },
- "?": {
- open: "(?:",
- close: ")?"
- },
- "+": {
- open: "(?:",
- close: ")+"
- },
- "*": {
- open: "(?:",
- close: ")*"
- },
- "@": {
- open: "(?:",
- close: ")"
- }
- };
- var qmark = "[^/]";
- var star = qmark + "*?";
- var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
- var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
- var reSpecials = charSet("().*{}+?[]^$\\!");
- function charSet(s) {
- return s.split("").reduce(function(set, c) {
- set[c] = true;
- return set;
- }, {});
- }
- var slashSplit = /\/+/;
- minimatch.filter = filter;
- function filter(pattern, options) {
- options = options || {};
- return function(p, i, list) {
- return minimatch(p, pattern, options);
- };
- }
- function ext(a, b) {
- b = b || {};
- var t = {};
- Object.keys(a).forEach(function(k) {
- t[k] = a[k];
- });
- Object.keys(b).forEach(function(k) {
- t[k] = b[k];
- });
- return t;
- }
- minimatch.defaults = function(def) {
- if (!def || typeof def !== "object" || !Object.keys(def).length) {
- return minimatch;
- }
- var orig = minimatch;
- var m = function minimatch2(p, pattern, options) {
- return orig(p, pattern, ext(def, options));
- };
- m.Minimatch = function Minimatch2(pattern, options) {
- return new orig.Minimatch(pattern, ext(def, options));
- };
- m.Minimatch.defaults = function defaults(options) {
- return orig.defaults(ext(def, options)).Minimatch;
- };
- m.filter = function filter2(pattern, options) {
- return orig.filter(pattern, ext(def, options));
- };
- m.defaults = function defaults(options) {
- return orig.defaults(ext(def, options));
- };
- m.makeRe = function makeRe2(pattern, options) {
- return orig.makeRe(pattern, ext(def, options));
- };
- m.braceExpand = function braceExpand2(pattern, options) {
- return orig.braceExpand(pattern, ext(def, options));
- };
- m.match = function(list, pattern, options) {
- return orig.match(list, pattern, ext(def, options));
- };
- return m;
- };
- Minimatch.defaults = function(def) {
- return minimatch.defaults(def).Minimatch;
- };
- function minimatch(p, pattern, options) {
- assertValidPattern(pattern);
- if (!options)
- options = {};
- if (!options.nocomment && pattern.charAt(0) === "#") {
- return false;
- }
- return new Minimatch(pattern, options).match(p);
- }
- function Minimatch(pattern, options) {
- if (!(this instanceof Minimatch)) {
- return new Minimatch(pattern, options);
- }
- assertValidPattern(pattern);
- if (!options)
- options = {};
- pattern = pattern.trim();
- if (!options.allowWindowsEscape && path.sep !== "/") {
- pattern = pattern.split(path.sep).join("/");
- }
- this.options = options;
- this.set = [];
- this.pattern = pattern;
- this.regexp = null;
- this.negate = false;
- this.comment = false;
- this.empty = false;
- this.partial = !!options.partial;
- this.make();
- }
- Minimatch.prototype.debug = function() {
- };
- Minimatch.prototype.make = make;
- function make() {
- var pattern = this.pattern;
- var options = this.options;
- if (!options.nocomment && pattern.charAt(0) === "#") {
- this.comment = true;
- return;
- }
- if (!pattern) {
- this.empty = true;
- return;
- }
- this.parseNegate();
- var set = this.globSet = this.braceExpand();
- if (options.debug)
- this.debug = function debug() {
- console.error.apply(console, arguments);
- };
- this.debug(this.pattern, set);
- set = this.globParts = set.map(function(s) {
- return s.split(slashSplit);
- });
- this.debug(this.pattern, set);
- set = set.map(function(s, si, set2) {
- return s.map(this.parse, this);
- }, this);
- this.debug(this.pattern, set);
- set = set.filter(function(s) {
- return s.indexOf(false) === -1;
- });
- this.debug(this.pattern, set);
- this.set = set;
- }
- Minimatch.prototype.parseNegate = parseNegate;
- function parseNegate() {
- var pattern = this.pattern;
- var negate = false;
- var options = this.options;
- var negateOffset = 0;
- if (options.nonegate)
- return;
- for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) {
- negate = !negate;
- negateOffset++;
- }
- if (negateOffset)
- this.pattern = pattern.substr(negateOffset);
- this.negate = negate;
- }
- minimatch.braceExpand = function(pattern, options) {
- return braceExpand(pattern, options);
- };
- Minimatch.prototype.braceExpand = braceExpand;
- function braceExpand(pattern, options) {
- if (!options) {
- if (this instanceof Minimatch) {
- options = this.options;
- } else {
- options = {};
- }
- }
- pattern = typeof pattern === "undefined" ? this.pattern : pattern;
- assertValidPattern(pattern);
- if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
- return [pattern];
- }
- return expand(pattern);
- }
- var MAX_PATTERN_LENGTH = 1024 * 64;
- var assertValidPattern = function(pattern) {
- if (typeof pattern !== "string") {
- throw new TypeError("invalid pattern");
- }
- if (pattern.length > MAX_PATTERN_LENGTH) {
- throw new TypeError("pattern is too long");
- }
- };
- Minimatch.prototype.parse = parse;
- var SUBPARSE = {};
- function parse(pattern, isSub) {
- assertValidPattern(pattern);
- var options = this.options;
- if (pattern === "**") {
- if (!options.noglobstar)
- return GLOBSTAR;
- else
- pattern = "*";
- }
- if (pattern === "")
- return "";
- var re = "";
- var hasMagic = !!options.nocase;
- var escaping = false;
- var patternListStack = [];
- var negativeLists = [];
- var stateChar;
- var inClass = false;
- var reClassStart = -1;
- var classStart = -1;
- var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
- var self2 = this;
- function clearStateChar() {
- if (stateChar) {
- switch (stateChar) {
- case "*":
- re += star;
- hasMagic = true;
- break;
- case "?":
- re += qmark;
- hasMagic = true;
- break;
- default:
- re += "\\" + stateChar;
- break;
- }
- self2.debug("clearStateChar %j %j", stateChar, re);
- stateChar = false;
- }
- }
- for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) {
- this.debug("%s %s %s %j", pattern, i, re, c);
- if (escaping && reSpecials[c]) {
- re += "\\" + c;
- escaping = false;
- continue;
- }
- switch (c) {
- case "/": {
- return false;
- }
- case "\\":
- clearStateChar();
- escaping = true;
- continue;
- case "?":
- case "*":
- case "+":
- case "@":
- case "!":
- this.debug("%s %s %s %j <-- stateChar", pattern, i, re, c);
- if (inClass) {
- this.debug(" in class");
- if (c === "!" && i === classStart + 1)
- c = "^";
- re += c;
- continue;
- }
- self2.debug("call clearStateChar %j", stateChar);
- clearStateChar();
- stateChar = c;
- if (options.noext)
- clearStateChar();
- continue;
- case "(":
- if (inClass) {
- re += "(";
- continue;
- }
- if (!stateChar) {
- re += "\\(";
- continue;
- }
- patternListStack.push({
- type: stateChar,
- start: i - 1,
- reStart: re.length,
- open: plTypes[stateChar].open,
- close: plTypes[stateChar].close
- });
- re += stateChar === "!" ? "(?:(?!(?:" : "(?:";
- this.debug("plType %j %j", stateChar, re);
- stateChar = false;
- continue;
- case ")":
- if (inClass || !patternListStack.length) {
- re += "\\)";
- continue;
- }
- clearStateChar();
- hasMagic = true;
- var pl = patternListStack.pop();
- re += pl.close;
- if (pl.type === "!") {
- negativeLists.push(pl);
- }
- pl.reEnd = re.length;
- continue;
- case "|":
- if (inClass || !patternListStack.length || escaping) {
- re += "\\|";
- escaping = false;
- continue;
- }
- clearStateChar();
- re += "|";
- continue;
- case "[":
- clearStateChar();
- if (inClass) {
- re += "\\" + c;
- continue;
- }
- inClass = true;
- classStart = i;
- reClassStart = re.length;
- re += c;
- continue;
- case "]":
- if (i === classStart + 1 || !inClass) {
- re += "\\" + c;
- escaping = false;
- continue;
- }
- var cs = pattern.substring(classStart + 1, i);
- try {
- RegExp("[" + cs + "]");
- } catch (er) {
- var sp = this.parse(cs, SUBPARSE);
- re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
- hasMagic = hasMagic || sp[1];
- inClass = false;
- continue;
- }
- hasMagic = true;
- inClass = false;
- re += c;
- continue;
- default:
- clearStateChar();
- if (escaping) {
- escaping = false;
- } else if (reSpecials[c] && !(c === "^" && inClass)) {
- re += "\\";
- }
- re += c;
- }
- }
- if (inClass) {
- cs = pattern.substr(classStart + 1);
- sp = this.parse(cs, SUBPARSE);
- re = re.substr(0, reClassStart) + "\\[" + sp[0];
- hasMagic = hasMagic || sp[1];
- }
- for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
- var tail = re.slice(pl.reStart + pl.open.length);
- this.debug("setting tail", re, pl);
- tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_, $1, $2) {
- if (!$2) {
- $2 = "\\";
- }
- return $1 + $1 + $2 + "|";
- });
- this.debug("tail=%j\n %s", tail, tail, pl, re);
- var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
- hasMagic = true;
- re = re.slice(0, pl.reStart) + t + "\\(" + tail;
- }
- clearStateChar();
- if (escaping) {
- re += "\\\\";
- }
- var addPatternStart = false;
- switch (re.charAt(0)) {
- case "[":
- case ".":
- case "(":
- addPatternStart = true;
- }
- for (var n = negativeLists.length - 1; n > -1; n--) {
- var nl = negativeLists[n];
- var nlBefore = re.slice(0, nl.reStart);
- var nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
- var nlLast = re.slice(nl.reEnd - 8, nl.reEnd);
- var nlAfter = re.slice(nl.reEnd);
- nlLast += nlAfter;
- var openParensBefore = nlBefore.split("(").length - 1;
- var cleanAfter = nlAfter;
- for (i = 0; i < openParensBefore; i++) {
- cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
- }
- nlAfter = cleanAfter;
- var dollar = "";
- if (nlAfter === "" && isSub !== SUBPARSE) {
- dollar = "$";
- }
- var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
- re = newRe;
- }
- if (re !== "" && hasMagic) {
- re = "(?=.)" + re;
- }
- if (addPatternStart) {
- re = patternStart + re;
- }
- if (isSub === SUBPARSE) {
- return [re, hasMagic];
- }
- if (!hasMagic) {
- return globUnescape(pattern);
- }
- var flags = options.nocase ? "i" : "";
- try {
- var regExp = new RegExp("^" + re + "$", flags);
- } catch (er) {
- return new RegExp("$.");
- }
- regExp._glob = pattern;
- regExp._src = re;
- return regExp;
- }
- minimatch.makeRe = function(pattern, options) {
- return new Minimatch(pattern, options || {}).makeRe();
- };
- Minimatch.prototype.makeRe = makeRe;
- function makeRe() {
- if (this.regexp || this.regexp === false)
- return this.regexp;
- var set = this.set;
- if (!set.length) {
- this.regexp = false;
- return this.regexp;
- }
- var options = this.options;
- var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
- var flags = options.nocase ? "i" : "";
- var re = set.map(function(pattern) {
- return pattern.map(function(p) {
- return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
- }).join("\\/");
- }).join("|");
- re = "^(?:" + re + ")$";
- if (this.negate)
- re = "^(?!" + re + ").*$";
- try {
- this.regexp = new RegExp(re, flags);
- } catch (ex) {
- this.regexp = false;
- }
- return this.regexp;
- }
- minimatch.match = function(list, pattern, options) {
- options = options || {};
- var mm = new Minimatch(pattern, options);
- list = list.filter(function(f) {
- return mm.match(f);
- });
- if (mm.options.nonull && !list.length) {
- list.push(pattern);
- }
- return list;
- };
- Minimatch.prototype.match = function match(f, partial) {
- if (typeof partial === "undefined")
- partial = this.partial;
- this.debug("match", f, this.pattern);
- if (this.comment)
- return false;
- if (this.empty)
- return f === "";
- if (f === "/" && partial)
- return true;
- var options = this.options;
- if (path.sep !== "/") {
- f = f.split(path.sep).join("/");
- }
- f = f.split(slashSplit);
- this.debug(this.pattern, "split", f);
- var set = this.set;
- this.debug(this.pattern, "set", set);
- var filename;
- var i;
- for (i = f.length - 1; i >= 0; i--) {
- filename = f[i];
- if (filename)
- break;
- }
- for (i = 0; i < set.length; i++) {
- var pattern = set[i];
- var file = f;
- if (options.matchBase && pattern.length === 1) {
- file = [filename];
- }
- var hit = this.matchOne(file, pattern, partial);
- if (hit) {
- if (options.flipNegate)
- return true;
- return !this.negate;
- }
- }
- if (options.flipNegate)
- return false;
- return this.negate;
- };
- Minimatch.prototype.matchOne = function(file, pattern, partial) {
- var options = this.options;
- this.debug("matchOne", {
- "this": this,
- file,
- pattern
- });
- this.debug("matchOne", file.length, pattern.length);
- for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
- this.debug("matchOne loop");
- var p = pattern[pi];
- var f = file[fi];
- this.debug(pattern, p, f);
- if (p === false)
- return false;
- if (p === GLOBSTAR) {
- this.debug("GLOBSTAR", [pattern, p, f]);
- var fr = fi;
- var pr = pi + 1;
- if (pr === pl) {
- this.debug("** at the end");
- for (; fi < fl; fi++) {
- if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".")
- return false;
- }
- return true;
- }
- while (fr < fl) {
- var swallowee = file[fr];
- this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
- this.debug("globstar found match!", fr, fl, swallowee);
- return true;
- } else {
- if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
- this.debug("dot detected!", file, fr, pattern, pr);
- break;
- }
- this.debug("globstar swallow a segment, and continue");
- fr++;
- }
- }
- if (partial) {
- this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
- if (fr === fl)
- return true;
- }
- return false;
- }
- var hit;
- if (typeof p === "string") {
- hit = f === p;
- this.debug("string match", p, f, hit);
- } else {
- hit = f.match(p);
- this.debug("pattern match", p, f, hit);
- }
- if (!hit)
- return false;
- }
- if (fi === fl && pi === pl) {
- return true;
- } else if (fi === fl) {
- return partial;
- } else if (pi === pl) {
- return fi === fl - 1 && file[fi] === "";
- }
- throw new Error("wtf?");
- };
- function globUnescape(s) {
- return s.replace(/\\(.)/g, "$1");
- }
- function regExpEscape(s) {
- return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
- }
- }
-});
-var require_inherits_browser = __commonJS2({
- "node_modules/inherits/inherits_browser.js"(exports2, module2) {
- if (typeof Object.create === "function") {
- module2.exports = function inherits(ctor, superCtor) {
- if (superCtor) {
- ctor.super_ = superCtor;
- ctor.prototype = Object.create(superCtor.prototype, {
- constructor: {
- value: ctor,
- enumerable: false,
- writable: true,
- configurable: true
- }
- });
- }
- };
- } else {
- module2.exports = function inherits(ctor, superCtor) {
- if (superCtor) {
- ctor.super_ = superCtor;
- var TempCtor = function() {
- };
- TempCtor.prototype = superCtor.prototype;
- ctor.prototype = new TempCtor();
- ctor.prototype.constructor = ctor;
- }
- };
- }
- }
-});
-var require_inherits = __commonJS2({
- "node_modules/inherits/inherits.js"(exports2, module2) {
- try {
- util = require("util");
- if (typeof util.inherits !== "function")
- throw "";
- module2.exports = util.inherits;
- } catch (e) {
- module2.exports = require_inherits_browser();
- }
- var util;
- }
-});
-var require_path_is_absolute = __commonJS2({
- "node_modules/path-is-absolute/index.js"(exports2, module2) {
- "use strict";
- function posix(path) {
- return path.charAt(0) === "/";
- }
- function win32(path) {
- var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
- var result = splitDeviceRe.exec(path);
- var device = result[1] || "";
- var isUnc = Boolean(device && device.charAt(1) !== ":");
- return Boolean(result[2] || isUnc);
- }
- module2.exports = process.platform === "win32" ? win32 : posix;
- module2.exports.posix = posix;
- module2.exports.win32 = win32;
- }
-});
-var require_common3 = __commonJS2({
- "node_modules/glob/common.js"(exports2) {
- exports2.setopts = setopts;
- exports2.ownProp = ownProp;
- exports2.makeAbs = makeAbs;
- exports2.finish = finish;
- exports2.mark = mark;
- exports2.isIgnored = isIgnored;
- exports2.childrenIgnored = childrenIgnored;
- function ownProp(obj, field) {
- return Object.prototype.hasOwnProperty.call(obj, field);
- }
- var fs = require("fs");
- var path = require("path");
- var minimatch = require_minimatch();
- var isAbsolute = require_path_is_absolute();
- var Minimatch = minimatch.Minimatch;
- function alphasort(a, b) {
- return a.localeCompare(b, "en");
- }
- function setupIgnores(self2, options) {
- self2.ignore = options.ignore || [];
- if (!Array.isArray(self2.ignore))
- self2.ignore = [self2.ignore];
- if (self2.ignore.length) {
- self2.ignore = self2.ignore.map(ignoreMap);
- }
- }
- function ignoreMap(pattern) {
- var gmatcher = null;
- if (pattern.slice(-3) === "/**") {
- var gpattern = pattern.replace(/(\/\*\*)+$/, "");
- gmatcher = new Minimatch(gpattern, {
- dot: true
- });
- }
- return {
- matcher: new Minimatch(pattern, {
- dot: true
- }),
- gmatcher
- };
- }
- function setopts(self2, pattern, options) {
- if (!options)
- options = {};
- if (options.matchBase && pattern.indexOf("/") === -1) {
- if (options.noglobstar) {
- throw new Error("base matching requires globstar");
- }
- pattern = "**/" + pattern;
- }
- self2.silent = !!options.silent;
- self2.pattern = pattern;
- self2.strict = options.strict !== false;
- self2.realpath = !!options.realpath;
- self2.realpathCache = options.realpathCache || /* @__PURE__ */ Object.create(null);
- self2.follow = !!options.follow;
- self2.dot = !!options.dot;
- self2.mark = !!options.mark;
- self2.nodir = !!options.nodir;
- if (self2.nodir)
- self2.mark = true;
- self2.sync = !!options.sync;
- self2.nounique = !!options.nounique;
- self2.nonull = !!options.nonull;
- self2.nosort = !!options.nosort;
- self2.nocase = !!options.nocase;
- self2.stat = !!options.stat;
- self2.noprocess = !!options.noprocess;
- self2.absolute = !!options.absolute;
- self2.fs = options.fs || fs;
- self2.maxLength = options.maxLength || Infinity;
- self2.cache = options.cache || /* @__PURE__ */ Object.create(null);
- self2.statCache = options.statCache || /* @__PURE__ */ Object.create(null);
- self2.symlinks = options.symlinks || /* @__PURE__ */ Object.create(null);
- setupIgnores(self2, options);
- self2.changedCwd = false;
- var cwd = process.cwd();
- if (!ownProp(options, "cwd"))
- self2.cwd = cwd;
- else {
- self2.cwd = path.resolve(options.cwd);
- self2.changedCwd = self2.cwd !== cwd;
- }
- self2.root = options.root || path.resolve(self2.cwd, "/");
- self2.root = path.resolve(self2.root);
- if (process.platform === "win32")
- self2.root = self2.root.replace(/\\/g, "/");
- self2.cwdAbs = isAbsolute(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd);
- if (process.platform === "win32")
- self2.cwdAbs = self2.cwdAbs.replace(/\\/g, "/");
- self2.nomount = !!options.nomount;
- options.nonegate = true;
- options.nocomment = true;
- self2.minimatch = new Minimatch(pattern, options);
- self2.options = self2.minimatch.options;
- }
- function finish(self2) {
- var nou = self2.nounique;
- var all = nou ? [] : /* @__PURE__ */ Object.create(null);
- for (var i = 0, l = self2.matches.length; i < l; i++) {
- var matches = self2.matches[i];
- if (!matches || Object.keys(matches).length === 0) {
- if (self2.nonull) {
- var literal = self2.minimatch.globSet[i];
- if (nou)
- all.push(literal);
- else
- all[literal] = true;
- }
- } else {
- var m = Object.keys(matches);
- if (nou)
- all.push.apply(all, m);
- else
- m.forEach(function(m2) {
- all[m2] = true;
- });
- }
- }
- if (!nou)
- all = Object.keys(all);
- if (!self2.nosort)
- all = all.sort(alphasort);
- if (self2.mark) {
- for (var i = 0; i < all.length; i++) {
- all[i] = self2._mark(all[i]);
- }
- if (self2.nodir) {
- all = all.filter(function(e) {
- var notDir = !/\/$/.test(e);
- var c = self2.cache[e] || self2.cache[makeAbs(self2, e)];
- if (notDir && c)
- notDir = c !== "DIR" && !Array.isArray(c);
- return notDir;
- });
- }
- }
- if (self2.ignore.length)
- all = all.filter(function(m2) {
- return !isIgnored(self2, m2);
- });
- self2.found = all;
- }
- function mark(self2, p) {
- var abs = makeAbs(self2, p);
- var c = self2.cache[abs];
- var m = p;
- if (c) {
- var isDir = c === "DIR" || Array.isArray(c);
- var slash = p.slice(-1) === "/";
- if (isDir && !slash)
- m += "/";
- else if (!isDir && slash)
- m = m.slice(0, -1);
- if (m !== p) {
- var mabs = makeAbs(self2, m);
- self2.statCache[mabs] = self2.statCache[abs];
- self2.cache[mabs] = self2.cache[abs];
- }
- }
- return m;
- }
- function makeAbs(self2, f) {
- var abs = f;
- if (f.charAt(0) === "/") {
- abs = path.join(self2.root, f);
- } else if (isAbsolute(f) || f === "") {
- abs = f;
- } else if (self2.changedCwd) {
- abs = path.resolve(self2.cwd, f);
- } else {
- abs = path.resolve(f);
- }
- if (process.platform === "win32")
- abs = abs.replace(/\\/g, "/");
- return abs;
- }
- function isIgnored(self2, path2) {
- if (!self2.ignore.length)
- return false;
- return self2.ignore.some(function(item) {
- return item.matcher.match(path2) || !!(item.gmatcher && item.gmatcher.match(path2));
- });
- }
- function childrenIgnored(self2, path2) {
- if (!self2.ignore.length)
- return false;
- return self2.ignore.some(function(item) {
- return !!(item.gmatcher && item.gmatcher.match(path2));
- });
- }
- }
-});
-var require_sync7 = __commonJS2({
- "node_modules/glob/sync.js"(exports2, module2) {
- module2.exports = globSync;
- globSync.GlobSync = GlobSync;
- var rp = require_fs5();
- var minimatch = require_minimatch();
- var Minimatch = minimatch.Minimatch;
- var Glob = require_glob().Glob;
- var util = require("util");
- var path = require("path");
- var assert = require("assert");
- var isAbsolute = require_path_is_absolute();
- var common = require_common3();
- var setopts = common.setopts;
- var ownProp = common.ownProp;
- var childrenIgnored = common.childrenIgnored;
- var isIgnored = common.isIgnored;
- function globSync(pattern, options) {
- if (typeof options === "function" || arguments.length === 3)
- throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
- return new GlobSync(pattern, options).found;
- }
- function GlobSync(pattern, options) {
- if (!pattern)
- throw new Error("must provide pattern");
- if (typeof options === "function" || arguments.length === 3)
- throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
- if (!(this instanceof GlobSync))
- return new GlobSync(pattern, options);
- setopts(this, pattern, options);
- if (this.noprocess)
- return this;
- var n = this.minimatch.set.length;
- this.matches = new Array(n);
- for (var i = 0; i < n; i++) {
- this._process(this.minimatch.set[i], i, false);
- }
- this._finish();
- }
- GlobSync.prototype._finish = function() {
- assert(this instanceof GlobSync);
- if (this.realpath) {
- var self2 = this;
- this.matches.forEach(function(matchset, index) {
- var set = self2.matches[index] = /* @__PURE__ */ Object.create(null);
- for (var p in matchset) {
- try {
- p = self2._makeAbs(p);
- var real = rp.realpathSync(p, self2.realpathCache);
- set[real] = true;
- } catch (er) {
- if (er.syscall === "stat")
- set[self2._makeAbs(p)] = true;
- else
- throw er;
- }
- }
- });
- }
- common.finish(this);
- };
- GlobSync.prototype._process = function(pattern, index, inGlobStar) {
- assert(this instanceof GlobSync);
- var n = 0;
- while (typeof pattern[n] === "string") {
- n++;
- }
- var prefix;
- switch (n) {
- case pattern.length:
- this._processSimple(pattern.join("/"), index);
- return;
- case 0:
- prefix = null;
- break;
- default:
- prefix = pattern.slice(0, n).join("/");
- break;
- }
- var remain = pattern.slice(n);
- var read;
- if (prefix === null)
- read = ".";
- else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) {
- if (!prefix || !isAbsolute(prefix))
- prefix = "/" + prefix;
- read = prefix;
- } else
- read = prefix;
- var abs = this._makeAbs(read);
- if (childrenIgnored(this, read))
- return;
- var isGlobStar = remain[0] === minimatch.GLOBSTAR;
- if (isGlobStar)
- this._processGlobStar(prefix, read, abs, remain, index, inGlobStar);
- else
- this._processReaddir(prefix, read, abs, remain, index, inGlobStar);
- };
- GlobSync.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar) {
- var entries = this._readdir(abs, inGlobStar);
- if (!entries)
- return;
- var pn = remain[0];
- var negate = !!this.minimatch.negate;
- var rawGlob = pn._glob;
- var dotOk = this.dot || rawGlob.charAt(0) === ".";
- var matchedEntries = [];
- for (var i = 0; i < entries.length; i++) {
- var e = entries[i];
- if (e.charAt(0) !== "." || dotOk) {
- var m;
- if (negate && !prefix) {
- m = !e.match(pn);
- } else {
- m = e.match(pn);
- }
- if (m)
- matchedEntries.push(e);
- }
- }
- var len = matchedEntries.length;
- if (len === 0)
- return;
- if (remain.length === 1 && !this.mark && !this.stat) {
- if (!this.matches[index])
- this.matches[index] = /* @__PURE__ */ Object.create(null);
- for (var i = 0; i < len; i++) {
- var e = matchedEntries[i];
- if (prefix) {
- if (prefix.slice(-1) !== "/")
- e = prefix + "/" + e;
- else
- e = prefix + e;
- }
- if (e.charAt(0) === "/" && !this.nomount) {
- e = path.join(this.root, e);
- }
- this._emitMatch(index, e);
- }
- return;
- }
- remain.shift();
- for (var i = 0; i < len; i++) {
- var e = matchedEntries[i];
- var newPattern;
- if (prefix)
- newPattern = [prefix, e];
- else
- newPattern = [e];
- this._process(newPattern.concat(remain), index, inGlobStar);
- }
- };
- GlobSync.prototype._emitMatch = function(index, e) {
- if (isIgnored(this, e))
- return;
- var abs = this._makeAbs(e);
- if (this.mark)
- e = this._mark(e);
- if (this.absolute) {
- e = abs;
- }
- if (this.matches[index][e])
- return;
- if (this.nodir) {
- var c = this.cache[abs];
- if (c === "DIR" || Array.isArray(c))
- return;
- }
- this.matches[index][e] = true;
- if (this.stat)
- this._stat(e);
- };
- GlobSync.prototype._readdirInGlobStar = function(abs) {
- if (this.follow)
- return this._readdir(abs, false);
- var entries;
- var lstat;
- var stat;
- try {
- lstat = this.fs.lstatSync(abs);
- } catch (er) {
- if (er.code === "ENOENT") {
- return null;
- }
- }
- var isSym = lstat && lstat.isSymbolicLink();
- this.symlinks[abs] = isSym;
- if (!isSym && lstat && !lstat.isDirectory())
- this.cache[abs] = "FILE";
- else
- entries = this._readdir(abs, false);
- return entries;
- };
- GlobSync.prototype._readdir = function(abs, inGlobStar) {
- var entries;
- if (inGlobStar && !ownProp(this.symlinks, abs))
- return this._readdirInGlobStar(abs);
- if (ownProp(this.cache, abs)) {
- var c = this.cache[abs];
- if (!c || c === "FILE")
- return null;
- if (Array.isArray(c))
- return c;
- }
- try {
- return this._readdirEntries(abs, this.fs.readdirSync(abs));
- } catch (er) {
- this._readdirError(abs, er);
- return null;
- }
- };
- GlobSync.prototype._readdirEntries = function(abs, entries) {
- if (!this.mark && !this.stat) {
- for (var i = 0; i < entries.length; i++) {
- var e = entries[i];
- if (abs === "/")
- e = abs + e;
- else
- e = abs + "/" + e;
- this.cache[e] = true;
- }
- }
- this.cache[abs] = entries;
- return entries;
- };
- GlobSync.prototype._readdirError = function(f, er) {
- switch (er.code) {
- case "ENOTSUP":
- case "ENOTDIR":
- var abs = this._makeAbs(f);
- this.cache[abs] = "FILE";
- if (abs === this.cwdAbs) {
- var error = new Error(er.code + " invalid cwd " + this.cwd);
- error.path = this.cwd;
- error.code = er.code;
- throw error;
- }
- break;
- case "ENOENT":
- case "ELOOP":
- case "ENAMETOOLONG":
- case "UNKNOWN":
- this.cache[this._makeAbs(f)] = false;
- break;
- default:
- this.cache[this._makeAbs(f)] = false;
- if (this.strict)
- throw er;
- if (!this.silent)
- console.error("glob error", er);
- break;
- }
- };
- GlobSync.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar) {
- var entries = this._readdir(abs, inGlobStar);
- if (!entries)
- return;
- var remainWithoutGlobStar = remain.slice(1);
- var gspref = prefix ? [prefix] : [];
- var noGlobStar = gspref.concat(remainWithoutGlobStar);
- this._process(noGlobStar, index, false);
- var len = entries.length;
- var isSym = this.symlinks[abs];
- if (isSym && inGlobStar)
- return;
- for (var i = 0; i < len; i++) {
- var e = entries[i];
- if (e.charAt(0) === "." && !this.dot)
- continue;
- var instead = gspref.concat(entries[i], remainWithoutGlobStar);
- this._process(instead, index, true);
- var below = gspref.concat(entries[i], remain);
- this._process(below, index, true);
- }
- };
- GlobSync.prototype._processSimple = function(prefix, index) {
- var exists = this._stat(prefix);
- if (!this.matches[index])
- this.matches[index] = /* @__PURE__ */ Object.create(null);
- if (!exists)
- return;
- if (prefix && isAbsolute(prefix) && !this.nomount) {
- var trail = /[\/\\]$/.test(prefix);
- if (prefix.charAt(0) === "/") {
- prefix = path.join(this.root, prefix);
- } else {
- prefix = path.resolve(this.root, prefix);
- if (trail)
- prefix += "/";
- }
- }
- if (process.platform === "win32")
- prefix = prefix.replace(/\\/g, "/");
- this._emitMatch(index, prefix);
- };
- GlobSync.prototype._stat = function(f) {
- var abs = this._makeAbs(f);
- var needDir = f.slice(-1) === "/";
- if (f.length > this.maxLength)
- return false;
- if (!this.stat && ownProp(this.cache, abs)) {
- var c = this.cache[abs];
- if (Array.isArray(c))
- c = "DIR";
- if (!needDir || c === "DIR")
- return c;
- if (needDir && c === "FILE")
- return false;
- }
- var exists;
- var stat = this.statCache[abs];
- if (!stat) {
- var lstat;
- try {
- lstat = this.fs.lstatSync(abs);
- } catch (er) {
- if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
- this.statCache[abs] = false;
- return false;
- }
- }
- if (lstat && lstat.isSymbolicLink()) {
- try {
- stat = this.fs.statSync(abs);
- } catch (er) {
- stat = lstat;
- }
- } else {
- stat = lstat;
- }
- }
- this.statCache[abs] = stat;
- var c = true;
- if (stat)
- c = stat.isDirectory() ? "DIR" : "FILE";
- this.cache[abs] = this.cache[abs] || c;
- if (needDir && c === "FILE")
- return false;
- return c;
- };
- GlobSync.prototype._mark = function(p) {
- return common.mark(this, p);
- };
- GlobSync.prototype._makeAbs = function(f) {
- return common.makeAbs(this, f);
- };
- }
-});
-var require_wrappy = __commonJS2({
- "node_modules/wrappy/wrappy.js"(exports2, module2) {
- module2.exports = wrappy;
- function wrappy(fn, cb) {
- if (fn && cb)
- return wrappy(fn)(cb);
- if (typeof fn !== "function")
- throw new TypeError("need wrapper function");
- Object.keys(fn).forEach(function(k) {
- wrapper[k] = fn[k];
- });
- return wrapper;
- function wrapper() {
- var args = new Array(arguments.length);
- for (var i = 0; i < args.length; i++) {
- args[i] = arguments[i];
- }
- var ret = fn.apply(this, args);
- var cb2 = args[args.length - 1];
- if (typeof ret === "function" && ret !== cb2) {
- Object.keys(cb2).forEach(function(k) {
- ret[k] = cb2[k];
- });
- }
- return ret;
- }
- }
- }
-});
-var require_once = __commonJS2({
- "node_modules/once/once.js"(exports2, module2) {
- var wrappy = require_wrappy();
- module2.exports = wrappy(once);
- module2.exports.strict = wrappy(onceStrict);
- once.proto = once(function() {
- Object.defineProperty(Function.prototype, "once", {
- value: function() {
- return once(this);
- },
- configurable: true
- });
- Object.defineProperty(Function.prototype, "onceStrict", {
- value: function() {
- return onceStrict(this);
- },
- configurable: true
- });
- });
- function once(fn) {
- var f = function() {
- if (f.called)
- return f.value;
- f.called = true;
- return f.value = fn.apply(this, arguments);
- };
- f.called = false;
- return f;
- }
- function onceStrict(fn) {
- var f = function() {
- if (f.called)
- throw new Error(f.onceError);
- f.called = true;
- return f.value = fn.apply(this, arguments);
- };
- var name = fn.name || "Function wrapped with `once`";
- f.onceError = name + " shouldn't be called more than once";
- f.called = false;
- return f;
- }
- }
-});
-var require_inflight = __commonJS2({
- "node_modules/inflight/inflight.js"(exports2, module2) {
- var wrappy = require_wrappy();
- var reqs = /* @__PURE__ */ Object.create(null);
- var once = require_once();
- module2.exports = wrappy(inflight);
- function inflight(key, cb) {
- if (reqs[key]) {
- reqs[key].push(cb);
- return null;
- } else {
- reqs[key] = [cb];
- return makeres(key);
- }
- }
- function makeres(key) {
- return once(function RES() {
- var cbs = reqs[key];
- var len = cbs.length;
- var args = slice(arguments);
- try {
- for (var i = 0; i < len; i++) {
- cbs[i].apply(null, args);
- }
- } finally {
- if (cbs.length > len) {
- cbs.splice(0, len);
- process.nextTick(function() {
- RES.apply(null, args);
- });
- } else {
- delete reqs[key];
- }
- }
- });
- }
- function slice(args) {
- var length = args.length;
- var array2 = [];
- for (var i = 0; i < length; i++)
- array2[i] = args[i];
- return array2;
- }
- }
-});
-var require_glob = __commonJS2({
- "node_modules/glob/glob.js"(exports2, module2) {
- module2.exports = glob;
- var rp = require_fs5();
- var minimatch = require_minimatch();
- var Minimatch = minimatch.Minimatch;
- var inherits = require_inherits();
- var EE = require("events").EventEmitter;
- var path = require("path");
- var assert = require("assert");
- var isAbsolute = require_path_is_absolute();
- var globSync = require_sync7();
- var common = require_common3();
- var setopts = common.setopts;
- var ownProp = common.ownProp;
- var inflight = require_inflight();
- var util = require("util");
- var childrenIgnored = common.childrenIgnored;
- var isIgnored = common.isIgnored;
- var once = require_once();
- function glob(pattern, options, cb) {
- if (typeof options === "function")
- cb = options, options = {};
- if (!options)
- options = {};
- if (options.sync) {
- if (cb)
- throw new TypeError("callback provided to sync glob");
- return globSync(pattern, options);
- }
- return new Glob(pattern, options, cb);
- }
- glob.sync = globSync;
- var GlobSync = glob.GlobSync = globSync.GlobSync;
- glob.glob = glob;
- function extend(origin, add) {
- if (add === null || typeof add !== "object") {
- return origin;
- }
- var keys = Object.keys(add);
- var i = keys.length;
- while (i--) {
- origin[keys[i]] = add[keys[i]];
- }
- return origin;
- }
- glob.hasMagic = function(pattern, options_) {
- var options = extend({}, options_);
- options.noprocess = true;
- var g = new Glob(pattern, options);
- var set = g.minimatch.set;
- if (!pattern)
- return false;
- if (set.length > 1)
- return true;
- for (var j = 0; j < set[0].length; j++) {
- if (typeof set[0][j] !== "string")
- return true;
- }
- return false;
- };
- glob.Glob = Glob;
- inherits(Glob, EE);
- function Glob(pattern, options, cb) {
- if (typeof options === "function") {
- cb = options;
- options = null;
- }
- if (options && options.sync) {
- if (cb)
- throw new TypeError("callback provided to sync glob");
- return new GlobSync(pattern, options);
- }
- if (!(this instanceof Glob))
- return new Glob(pattern, options, cb);
- setopts(this, pattern, options);
- this._didRealPath = false;
- var n = this.minimatch.set.length;
- this.matches = new Array(n);
- if (typeof cb === "function") {
- cb = once(cb);
- this.on("error", cb);
- this.on("end", function(matches) {
- cb(null, matches);
- });
- }
- var self2 = this;
- this._processing = 0;
- this._emitQueue = [];
- this._processQueue = [];
- this.paused = false;
- if (this.noprocess)
- return this;
- if (n === 0)
- return done();
- var sync = true;
- for (var i = 0; i < n; i++) {
- this._process(this.minimatch.set[i], i, false, done);
- }
- sync = false;
- function done() {
- --self2._processing;
- if (self2._processing <= 0) {
- if (sync) {
- process.nextTick(function() {
- self2._finish();
- });
- } else {
- self2._finish();
- }
- }
- }
- }
- Glob.prototype._finish = function() {
- assert(this instanceof Glob);
- if (this.aborted)
- return;
- if (this.realpath && !this._didRealpath)
- return this._realpath();
- common.finish(this);
- this.emit("end", this.found);
- };
- Glob.prototype._realpath = function() {
- if (this._didRealpath)
- return;
- this._didRealpath = true;
- var n = this.matches.length;
- if (n === 0)
- return this._finish();
- var self2 = this;
- for (var i = 0; i < this.matches.length; i++)
- this._realpathSet(i, next);
- function next() {
- if (--n === 0)
- self2._finish();
- }
- };
- Glob.prototype._realpathSet = function(index, cb) {
- var matchset = this.matches[index];
- if (!matchset)
- return cb();
- var found = Object.keys(matchset);
- var self2 = this;
- var n = found.length;
- if (n === 0)
- return cb();
- var set = this.matches[index] = /* @__PURE__ */ Object.create(null);
- found.forEach(function(p, i) {
- p = self2._makeAbs(p);
- rp.realpath(p, self2.realpathCache, function(er, real) {
- if (!er)
- set[real] = true;
- else if (er.syscall === "stat")
- set[p] = true;
- else
- self2.emit("error", er);
- if (--n === 0) {
- self2.matches[index] = set;
- cb();
- }
- });
- });
- };
- Glob.prototype._mark = function(p) {
- return common.mark(this, p);
- };
- Glob.prototype._makeAbs = function(f) {
- return common.makeAbs(this, f);
- };
- Glob.prototype.abort = function() {
- this.aborted = true;
- this.emit("abort");
- };
- Glob.prototype.pause = function() {
- if (!this.paused) {
- this.paused = true;
- this.emit("pause");
- }
- };
- Glob.prototype.resume = function() {
- if (this.paused) {
- this.emit("resume");
- this.paused = false;
- if (this._emitQueue.length) {
- var eq = this._emitQueue.slice(0);
- this._emitQueue.length = 0;
- for (var i = 0; i < eq.length; i++) {
- var e = eq[i];
- this._emitMatch(e[0], e[1]);
- }
- }
- if (this._processQueue.length) {
- var pq = this._processQueue.slice(0);
- this._processQueue.length = 0;
- for (var i = 0; i < pq.length; i++) {
- var p = pq[i];
- this._processing--;
- this._process(p[0], p[1], p[2], p[3]);
- }
- }
- }
- };
- Glob.prototype._process = function(pattern, index, inGlobStar, cb) {
- assert(this instanceof Glob);
- assert(typeof cb === "function");
- if (this.aborted)
- return;
- this._processing++;
- if (this.paused) {
- this._processQueue.push([pattern, index, inGlobStar, cb]);
- return;
- }
- var n = 0;
- while (typeof pattern[n] === "string") {
- n++;
- }
- var prefix;
- switch (n) {
- case pattern.length:
- this._processSimple(pattern.join("/"), index, cb);
- return;
- case 0:
- prefix = null;
- break;
- default:
- prefix = pattern.slice(0, n).join("/");
- break;
- }
- var remain = pattern.slice(n);
- var read;
- if (prefix === null)
- read = ".";
- else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) {
- if (!prefix || !isAbsolute(prefix))
- prefix = "/" + prefix;
- read = prefix;
- } else
- read = prefix;
- var abs = this._makeAbs(read);
- if (childrenIgnored(this, read))
- return cb();
- var isGlobStar = remain[0] === minimatch.GLOBSTAR;
- if (isGlobStar)
- this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb);
- else
- this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb);
- };
- Glob.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar, cb) {
- var self2 = this;
- this._readdir(abs, inGlobStar, function(er, entries) {
- return self2._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
- });
- };
- Glob.prototype._processReaddir2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
- if (!entries)
- return cb();
- var pn = remain[0];
- var negate = !!this.minimatch.negate;
- var rawGlob = pn._glob;
- var dotOk = this.dot || rawGlob.charAt(0) === ".";
- var matchedEntries = [];
- for (var i = 0; i < entries.length; i++) {
- var e = entries[i];
- if (e.charAt(0) !== "." || dotOk) {
- var m;
- if (negate && !prefix) {
- m = !e.match(pn);
- } else {
- m = e.match(pn);
- }
- if (m)
- matchedEntries.push(e);
- }
- }
- var len = matchedEntries.length;
- if (len === 0)
- return cb();
- if (remain.length === 1 && !this.mark && !this.stat) {
- if (!this.matches[index])
- this.matches[index] = /* @__PURE__ */ Object.create(null);
- for (var i = 0; i < len; i++) {
- var e = matchedEntries[i];
- if (prefix) {
- if (prefix !== "/")
- e = prefix + "/" + e;
- else
- e = prefix + e;
- }
- if (e.charAt(0) === "/" && !this.nomount) {
- e = path.join(this.root, e);
- }
- this._emitMatch(index, e);
- }
- return cb();
- }
- remain.shift();
- for (var i = 0; i < len; i++) {
- var e = matchedEntries[i];
- var newPattern;
- if (prefix) {
- if (prefix !== "/")
- e = prefix + "/" + e;
- else
- e = prefix + e;
- }
- this._process([e].concat(remain), index, inGlobStar, cb);
- }
- cb();
- };
- Glob.prototype._emitMatch = function(index, e) {
- if (this.aborted)
- return;
- if (isIgnored(this, e))
- return;
- if (this.paused) {
- this._emitQueue.push([index, e]);
- return;
- }
- var abs = isAbsolute(e) ? e : this._makeAbs(e);
- if (this.mark)
- e = this._mark(e);
- if (this.absolute)
- e = abs;
- if (this.matches[index][e])
- return;
- if (this.nodir) {
- var c = this.cache[abs];
- if (c === "DIR" || Array.isArray(c))
- return;
- }
- this.matches[index][e] = true;
- var st = this.statCache[abs];
- if (st)
- this.emit("stat", e, st);
- this.emit("match", e);
- };
- Glob.prototype._readdirInGlobStar = function(abs, cb) {
- if (this.aborted)
- return;
- if (this.follow)
- return this._readdir(abs, false, cb);
- var lstatkey = "lstat\0" + abs;
- var self2 = this;
- var lstatcb = inflight(lstatkey, lstatcb_);
- if (lstatcb)
- self2.fs.lstat(abs, lstatcb);
- function lstatcb_(er, lstat) {
- if (er && er.code === "ENOENT")
- return cb();
- var isSym = lstat && lstat.isSymbolicLink();
- self2.symlinks[abs] = isSym;
- if (!isSym && lstat && !lstat.isDirectory()) {
- self2.cache[abs] = "FILE";
- cb();
- } else
- self2._readdir(abs, false, cb);
- }
- };
- Glob.prototype._readdir = function(abs, inGlobStar, cb) {
- if (this.aborted)
- return;
- cb = inflight("readdir\0" + abs + "\0" + inGlobStar, cb);
- if (!cb)
- return;
- if (inGlobStar && !ownProp(this.symlinks, abs))
- return this._readdirInGlobStar(abs, cb);
- if (ownProp(this.cache, abs)) {
- var c = this.cache[abs];
- if (!c || c === "FILE")
- return cb();
- if (Array.isArray(c))
- return cb(null, c);
- }
- var self2 = this;
- self2.fs.readdir(abs, readdirCb(this, abs, cb));
- };
- function readdirCb(self2, abs, cb) {
- return function(er, entries) {
- if (er)
- self2._readdirError(abs, er, cb);
- else
- self2._readdirEntries(abs, entries, cb);
- };
- }
- Glob.prototype._readdirEntries = function(abs, entries, cb) {
- if (this.aborted)
- return;
- if (!this.mark && !this.stat) {
- for (var i = 0; i < entries.length; i++) {
- var e = entries[i];
- if (abs === "/")
- e = abs + e;
- else
- e = abs + "/" + e;
- this.cache[e] = true;
- }
- }
- this.cache[abs] = entries;
- return cb(null, entries);
- };
- Glob.prototype._readdirError = function(f, er, cb) {
- if (this.aborted)
- return;
- switch (er.code) {
- case "ENOTSUP":
- case "ENOTDIR":
- var abs = this._makeAbs(f);
- this.cache[abs] = "FILE";
- if (abs === this.cwdAbs) {
- var error = new Error(er.code + " invalid cwd " + this.cwd);
- error.path = this.cwd;
- error.code = er.code;
- this.emit("error", error);
- this.abort();
- }
- break;
- case "ENOENT":
- case "ELOOP":
- case "ENAMETOOLONG":
- case "UNKNOWN":
- this.cache[this._makeAbs(f)] = false;
- break;
- default:
- this.cache[this._makeAbs(f)] = false;
- if (this.strict) {
- this.emit("error", er);
- this.abort();
- }
- if (!this.silent)
- console.error("glob error", er);
- break;
- }
- return cb();
- };
- Glob.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar, cb) {
- var self2 = this;
- this._readdir(abs, inGlobStar, function(er, entries) {
- self2._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
- });
- };
- Glob.prototype._processGlobStar2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
- if (!entries)
- return cb();
- var remainWithoutGlobStar = remain.slice(1);
- var gspref = prefix ? [prefix] : [];
- var noGlobStar = gspref.concat(remainWithoutGlobStar);
- this._process(noGlobStar, index, false, cb);
- var isSym = this.symlinks[abs];
- var len = entries.length;
- if (isSym && inGlobStar)
- return cb();
- for (var i = 0; i < len; i++) {
- var e = entries[i];
- if (e.charAt(0) === "." && !this.dot)
- continue;
- var instead = gspref.concat(entries[i], remainWithoutGlobStar);
- this._process(instead, index, true, cb);
- var below = gspref.concat(entries[i], remain);
- this._process(below, index, true, cb);
- }
- cb();
- };
- Glob.prototype._processSimple = function(prefix, index, cb) {
- var self2 = this;
- this._stat(prefix, function(er, exists) {
- self2._processSimple2(prefix, index, er, exists, cb);
- });
- };
- Glob.prototype._processSimple2 = function(prefix, index, er, exists, cb) {
- if (!this.matches[index])
- this.matches[index] = /* @__PURE__ */ Object.create(null);
- if (!exists)
- return cb();
- if (prefix && isAbsolute(prefix) && !this.nomount) {
- var trail = /[\/\\]$/.test(prefix);
- if (prefix.charAt(0) === "/") {
- prefix = path.join(this.root, prefix);
- } else {
- prefix = path.resolve(this.root, prefix);
- if (trail)
- prefix += "/";
- }
- }
- if (process.platform === "win32")
- prefix = prefix.replace(/\\/g, "/");
- this._emitMatch(index, prefix);
- cb();
- };
- Glob.prototype._stat = function(f, cb) {
- var abs = this._makeAbs(f);
- var needDir = f.slice(-1) === "/";
- if (f.length > this.maxLength)
- return cb();
- if (!this.stat && ownProp(this.cache, abs)) {
- var c = this.cache[abs];
- if (Array.isArray(c))
- c = "DIR";
- if (!needDir || c === "DIR")
- return cb(null, c);
- if (needDir && c === "FILE")
- return cb();
- }
- var exists;
- var stat = this.statCache[abs];
- if (stat !== void 0) {
- if (stat === false)
- return cb(null, stat);
- else {
- var type = stat.isDirectory() ? "DIR" : "FILE";
- if (needDir && type === "FILE")
- return cb();
- else
- return cb(null, type, stat);
- }
- }
- var self2 = this;
- var statcb = inflight("stat\0" + abs, lstatcb_);
- if (statcb)
- self2.fs.lstat(abs, statcb);
- function lstatcb_(er, lstat) {
- if (lstat && lstat.isSymbolicLink()) {
- return self2.fs.stat(abs, function(er2, stat2) {
- if (er2)
- self2._stat2(f, abs, null, lstat, cb);
- else
- self2._stat2(f, abs, er2, stat2, cb);
- });
- } else {
- self2._stat2(f, abs, er, lstat, cb);
- }
- }
- };
- Glob.prototype._stat2 = function(f, abs, er, stat, cb) {
- if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
- this.statCache[abs] = false;
- return cb();
- }
- var needDir = f.slice(-1) === "/";
- this.statCache[abs] = stat;
- if (abs.slice(-1) === "/" && stat && !stat.isDirectory())
- return cb(null, false, stat);
- var c = true;
- if (stat)
- c = stat.isDirectory() ? "DIR" : "FILE";
- this.cache[abs] = this.cache[abs] || c;
- if (needDir && c === "FILE")
- return cb();
- return cb(null, c, stat);
- };
- }
-});
-var require_rimraf = __commonJS2({
- "node_modules/rimraf/rimraf.js"(exports2, module2) {
- var assert = require("assert");
- var path = require("path");
- var fs = require("fs");
- var glob = void 0;
- try {
- glob = require_glob();
- } catch (_err) {
- }
- var defaultGlobOpts = {
- nosort: true,
- silent: true
- };
- var timeout = 0;
- var isWindows = process.platform === "win32";
- var defaults = (options) => {
- const methods = ["unlink", "chmod", "stat", "lstat", "rmdir", "readdir"];
- methods.forEach((m) => {
- options[m] = options[m] || fs[m];
- m = m + "Sync";
- options[m] = options[m] || fs[m];
- });
- options.maxBusyTries = options.maxBusyTries || 3;
- options.emfileWait = options.emfileWait || 1e3;
- if (options.glob === false) {
- options.disableGlob = true;
- }
- if (options.disableGlob !== true && glob === void 0) {
- throw Error("glob dependency not found, set `options.disableGlob = true` if intentional");
- }
- options.disableGlob = options.disableGlob || false;
- options.glob = options.glob || defaultGlobOpts;
- };
- var rimraf = (p, options, cb) => {
- if (typeof options === "function") {
- cb = options;
- options = {};
- }
- assert(p, "rimraf: missing path");
- assert.equal(typeof p, "string", "rimraf: path should be a string");
- assert.equal(typeof cb, "function", "rimraf: callback function required");
- assert(options, "rimraf: invalid options argument provided");
- assert.equal(typeof options, "object", "rimraf: options should be object");
- defaults(options);
- let busyTries = 0;
- let errState = null;
- let n = 0;
- const next = (er) => {
- errState = errState || er;
- if (--n === 0)
- cb(errState);
- };
- const afterGlob = (er, results) => {
- if (er)
- return cb(er);
- n = results.length;
- if (n === 0)
- return cb();
- results.forEach((p2) => {
- const CB = (er2) => {
- if (er2) {
- if ((er2.code === "EBUSY" || er2.code === "ENOTEMPTY" || er2.code === "EPERM") && busyTries < options.maxBusyTries) {
- busyTries++;
- return setTimeout(() => rimraf_(p2, options, CB), busyTries * 100);
- }
- if (er2.code === "EMFILE" && timeout < options.emfileWait) {
- return setTimeout(() => rimraf_(p2, options, CB), timeout++);
- }
- if (er2.code === "ENOENT")
- er2 = null;
- }
- timeout = 0;
- next(er2);
- };
- rimraf_(p2, options, CB);
- });
- };
- if (options.disableGlob || !glob.hasMagic(p))
- return afterGlob(null, [p]);
- options.lstat(p, (er, stat) => {
- if (!er)
- return afterGlob(null, [p]);
- glob(p, options.glob, afterGlob);
- });
- };
- var rimraf_ = (p, options, cb) => {
- assert(p);
- assert(options);
- assert(typeof cb === "function");
- options.lstat(p, (er, st) => {
- if (er && er.code === "ENOENT")
- return cb(null);
- if (er && er.code === "EPERM" && isWindows)
- fixWinEPERM(p, options, er, cb);
- if (st && st.isDirectory())
- return rmdir(p, options, er, cb);
- options.unlink(p, (er2) => {
- if (er2) {
- if (er2.code === "ENOENT")
- return cb(null);
- if (er2.code === "EPERM")
- return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb);
- if (er2.code === "EISDIR")
- return rmdir(p, options, er2, cb);
- }
- return cb(er2);
- });
- });
- };
- var fixWinEPERM = (p, options, er, cb) => {
- assert(p);
- assert(options);
- assert(typeof cb === "function");
- options.chmod(p, 438, (er2) => {
- if (er2)
- cb(er2.code === "ENOENT" ? null : er);
- else
- options.stat(p, (er3, stats) => {
- if (er3)
- cb(er3.code === "ENOENT" ? null : er);
- else if (stats.isDirectory())
- rmdir(p, options, er, cb);
- else
- options.unlink(p, cb);
- });
- });
- };
- var fixWinEPERMSync = (p, options, er) => {
- assert(p);
- assert(options);
- try {
- options.chmodSync(p, 438);
- } catch (er2) {
- if (er2.code === "ENOENT")
- return;
- else
- throw er;
- }
- let stats;
- try {
- stats = options.statSync(p);
- } catch (er3) {
- if (er3.code === "ENOENT")
- return;
- else
- throw er;
- }
- if (stats.isDirectory())
- rmdirSync(p, options, er);
- else
- options.unlinkSync(p);
- };
- var rmdir = (p, options, originalEr, cb) => {
- assert(p);
- assert(options);
- assert(typeof cb === "function");
- options.rmdir(p, (er) => {
- if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM"))
- rmkids(p, options, cb);
- else if (er && er.code === "ENOTDIR")
- cb(originalEr);
- else
- cb(er);
- });
- };
- var rmkids = (p, options, cb) => {
- assert(p);
- assert(options);
- assert(typeof cb === "function");
- options.readdir(p, (er, files) => {
- if (er)
- return cb(er);
- let n = files.length;
- if (n === 0)
- return options.rmdir(p, cb);
- let errState;
- files.forEach((f) => {
- rimraf(path.join(p, f), options, (er2) => {
- if (errState)
- return;
- if (er2)
- return cb(errState = er2);
- if (--n === 0)
- options.rmdir(p, cb);
- });
- });
- });
- };
- var rimrafSync = (p, options) => {
- options = options || {};
- defaults(options);
- assert(p, "rimraf: missing path");
- assert.equal(typeof p, "string", "rimraf: path should be a string");
- assert(options, "rimraf: missing options");
- assert.equal(typeof options, "object", "rimraf: options should be object");
- let results;
- if (options.disableGlob || !glob.hasMagic(p)) {
- results = [p];
- } else {
- try {
- options.lstatSync(p);
- results = [p];
- } catch (er) {
- results = glob.sync(p, options.glob);
- }
- }
- if (!results.length)
- return;
- for (let i = 0; i < results.length; i++) {
- const p2 = results[i];
- let st;
- try {
- st = options.lstatSync(p2);
- } catch (er) {
- if (er.code === "ENOENT")
- return;
- if (er.code === "EPERM" && isWindows)
- fixWinEPERMSync(p2, options, er);
- }
- try {
- if (st && st.isDirectory())
- rmdirSync(p2, options, null);
- else
- options.unlinkSync(p2);
- } catch (er) {
- if (er.code === "ENOENT")
- return;
- if (er.code === "EPERM")
- return isWindows ? fixWinEPERMSync(p2, options, er) : rmdirSync(p2, options, er);
- if (er.code !== "EISDIR")
- throw er;
- rmdirSync(p2, options, er);
- }
- }
- };
- var rmdirSync = (p, options, originalEr) => {
- assert(p);
- assert(options);
- try {
- options.rmdirSync(p);
- } catch (er) {
- if (er.code === "ENOENT")
- return;
- if (er.code === "ENOTDIR")
- throw originalEr;
- if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")
- rmkidsSync(p, options);
- }
- };
- var rmkidsSync = (p, options) => {
- assert(p);
- assert(options);
- options.readdirSync(p).forEach((f) => rimrafSync(path.join(p, f), options));
- const retries = isWindows ? 100 : 1;
- let i = 0;
- do {
- let threw = true;
- try {
- const ret = options.rmdirSync(p, options);
- threw = false;
- return ret;
- } finally {
- if (++i < retries && threw)
- continue;
- }
- } while (true);
- };
- module2.exports = rimraf;
- rimraf.sync = rimrafSync;
- }
-});
-var require_del = __commonJS2({
- "node_modules/flat-cache/src/del.js"(exports2, module2) {
- var rimraf = require_rimraf().sync;
- var fs = require("fs");
- module2.exports = function del(file) {
- if (fs.existsSync(file)) {
- rimraf(file, {
- glob: false
- });
- return true;
- }
- return false;
- };
- }
-});
-var require_cache = __commonJS2({
- "node_modules/flat-cache/src/cache.js"(exports2, module2) {
- var path = require("path");
- var fs = require("fs");
- var utils = require_utils6();
- var del = require_del();
- var writeJSON = utils.writeJSON;
- var cache = {
- load: function(docId, cacheDir) {
- var me = this;
- me._visited = {};
- me._persisted = {};
- me._pathToFile = cacheDir ? path.resolve(cacheDir, docId) : path.resolve(__dirname, "../.cache/", docId);
- if (fs.existsSync(me._pathToFile)) {
- me._persisted = utils.tryParse(me._pathToFile, {});
- }
- },
- loadFile: function(pathToFile) {
- var me = this;
- var dir = path.dirname(pathToFile);
- var fName = path.basename(pathToFile);
- me.load(fName, dir);
- },
- all: function() {
- return this._persisted;
- },
- keys: function() {
- return Object.keys(this._persisted);
- },
- setKey: function(key, value) {
- this._visited[key] = true;
- this._persisted[key] = value;
- },
- removeKey: function(key) {
- delete this._visited[key];
- delete this._persisted[key];
- },
- getKey: function(key) {
- this._visited[key] = true;
- return this._persisted[key];
- },
- _prune: function() {
- var me = this;
- var obj = {};
- var keys = Object.keys(me._visited);
- if (keys.length === 0) {
- return;
- }
- keys.forEach(function(key) {
- obj[key] = me._persisted[key];
- });
- me._visited = {};
- me._persisted = obj;
- },
- save: function(noPrune) {
- var me = this;
- !noPrune && me._prune();
- writeJSON(me._pathToFile, me._persisted);
- },
- removeCacheFile: function() {
- return del(this._pathToFile);
- },
- destroy: function() {
- var me = this;
- me._visited = {};
- me._persisted = {};
- me.removeCacheFile();
- }
- };
- module2.exports = {
- load: function(docId, cacheDir) {
- return this.create(docId, cacheDir);
- },
- create: function(docId, cacheDir) {
- var obj = Object.create(cache);
- obj.load(docId, cacheDir);
- return obj;
- },
- createFromFile: function(filePath) {
- var obj = Object.create(cache);
- obj.loadFile(filePath);
- return obj;
- },
- clearCacheById: function(docId, cacheDir) {
- var filePath = cacheDir ? path.resolve(cacheDir, docId) : path.resolve(__dirname, "../.cache/", docId);
- return del(filePath);
- },
- clearAll: function(cacheDir) {
- var filePath = cacheDir ? path.resolve(cacheDir) : path.resolve(__dirname, "../.cache/");
- return del(filePath);
- }
- };
- }
-});
-var require_cache2 = __commonJS2({
- "node_modules/file-entry-cache/cache.js"(exports2, module2) {
- var path = require("path");
- var crypto = require("crypto");
- module2.exports = {
- createFromFile: function(filePath, useChecksum) {
- var fname = path.basename(filePath);
- var dir = path.dirname(filePath);
- return this.create(fname, dir, useChecksum);
- },
- create: function(cacheId, _path, useChecksum) {
- var fs = require("fs");
- var flatCache = require_cache();
- var cache = flatCache.load(cacheId, _path);
- var normalizedEntries = {};
- var removeNotFoundFiles = function removeNotFoundFiles2() {
- const cachedEntries = cache.keys();
- cachedEntries.forEach(function remover(fPath) {
- try {
- fs.statSync(fPath);
- } catch (err) {
- if (err.code === "ENOENT") {
- cache.removeKey(fPath);
- }
- }
- });
- };
- removeNotFoundFiles();
- return {
- cache,
- getHash: function(buffer) {
- return crypto.createHash("md5").update(buffer).digest("hex");
- },
- hasFileChanged: function(file) {
- return this.getFileDescriptor(file).changed;
- },
- analyzeFiles: function(files) {
- var me = this;
- files = files || [];
- var res = {
- changedFiles: [],
- notFoundFiles: [],
- notChangedFiles: []
- };
- me.normalizeEntries(files).forEach(function(entry) {
- if (entry.changed) {
- res.changedFiles.push(entry.key);
- return;
- }
- if (entry.notFound) {
- res.notFoundFiles.push(entry.key);
- return;
- }
- res.notChangedFiles.push(entry.key);
- });
- return res;
- },
- getFileDescriptor: function(file) {
- var fstat;
- try {
- fstat = fs.statSync(file);
- } catch (ex) {
- this.removeEntry(file);
- return {
- key: file,
- notFound: true,
- err: ex
- };
- }
- if (useChecksum) {
- return this._getFileDescriptorUsingChecksum(file);
- }
- return this._getFileDescriptorUsingMtimeAndSize(file, fstat);
- },
- _getFileDescriptorUsingMtimeAndSize: function(file, fstat) {
- var meta = cache.getKey(file);
- var cacheExists = !!meta;
- var cSize = fstat.size;
- var cTime = fstat.mtime.getTime();
- var isDifferentDate;
- var isDifferentSize;
- if (!meta) {
- meta = {
- size: cSize,
- mtime: cTime
- };
- } else {
- isDifferentDate = cTime !== meta.mtime;
- isDifferentSize = cSize !== meta.size;
- }
- var nEntry = normalizedEntries[file] = {
- key: file,
- changed: !cacheExists || isDifferentDate || isDifferentSize,
- meta
- };
- return nEntry;
- },
- _getFileDescriptorUsingChecksum: function(file) {
- var meta = cache.getKey(file);
- var cacheExists = !!meta;
- var contentBuffer;
- try {
- contentBuffer = fs.readFileSync(file);
- } catch (ex) {
- contentBuffer = "";
- }
- var isDifferent = true;
- var hash = this.getHash(contentBuffer);
- if (!meta) {
- meta = {
- hash
- };
- } else {
- isDifferent = hash !== meta.hash;
- }
- var nEntry = normalizedEntries[file] = {
- key: file,
- changed: !cacheExists || isDifferent,
- meta
- };
- return nEntry;
- },
- getUpdatedFiles: function(files) {
- var me = this;
- files = files || [];
- return me.normalizeEntries(files).filter(function(entry) {
- return entry.changed;
- }).map(function(entry) {
- return entry.key;
- });
- },
- normalizeEntries: function(files) {
- files = files || [];
- var me = this;
- var nEntries = files.map(function(file) {
- return me.getFileDescriptor(file);
- });
- return nEntries;
- },
- removeEntry: function(entryName) {
- delete normalizedEntries[entryName];
- cache.removeKey(entryName);
- },
- deleteCacheFile: function() {
- cache.removeCacheFile();
- },
- destroy: function() {
- normalizedEntries = {};
- cache.destroy();
- },
- _getMetaForFileUsingCheckSum: function(cacheEntry) {
- var contentBuffer = fs.readFileSync(cacheEntry.key);
- var hash = this.getHash(contentBuffer);
- var meta = Object.assign(cacheEntry.meta, {
- hash
- });
- delete meta.size;
- delete meta.mtime;
- return meta;
- },
- _getMetaForFileUsingMtimeAndSize: function(cacheEntry) {
- var stat = fs.statSync(cacheEntry.key);
- var meta = Object.assign(cacheEntry.meta, {
- size: stat.size,
- mtime: stat.mtime.getTime()
- });
- delete meta.hash;
- return meta;
- },
- reconcile: function(noPrune) {
- removeNotFoundFiles();
- noPrune = typeof noPrune === "undefined" ? true : noPrune;
- var entries = normalizedEntries;
- var keys = Object.keys(entries);
- if (keys.length === 0) {
- return;
- }
- var me = this;
- keys.forEach(function(entryName) {
- var cacheEntry = entries[entryName];
- try {
- var meta = useChecksum ? me._getMetaForFileUsingCheckSum(cacheEntry) : me._getMetaForFileUsingMtimeAndSize(cacheEntry);
- cache.setKey(entryName, meta);
- } catch (err) {
- if (err.code !== "ENOENT") {
- throw err;
- }
- }
- });
- cache.save(noPrune);
- }
- };
- }
- };
- }
-});
-var require_format_results_cache = __commonJS2({
- "src/cli/format-results-cache.js"(exports2, module2) {
- "use strict";
- var fileEntryCache = require_cache2();
- var stringify2 = require_fast_json_stable_stringify();
- var {
- version: prettierVersion
- } = require("./index.js");
- var {
- createHash
- } = require_utils();
- var optionsHashCache = /* @__PURE__ */ new WeakMap();
- var nodeVersion = process && process.version;
- function getHashOfOptions(options) {
- if (optionsHashCache.has(options)) {
- return optionsHashCache.get(options);
- }
- const hash = createHash(`${prettierVersion}_${nodeVersion}_${stringify2(options)}`);
- optionsHashCache.set(options, hash);
- return hash;
- }
- function getMetadataFromFileDescriptor(fileDescriptor) {
- return fileDescriptor.meta;
- }
- var FormatResultsCache = class {
- constructor(cacheFileLocation, cacheStrategy) {
- const useChecksum = cacheStrategy === "content";
- this.cacheFileLocation = cacheFileLocation;
- this.fileEntryCache = fileEntryCache.create(cacheFileLocation, void 0, useChecksum);
- }
- existsAvailableFormatResultsCache(filePath, options) {
- const fileDescriptor = this.fileEntryCache.getFileDescriptor(filePath);
- const hashOfOptions = getHashOfOptions(options);
- const meta = getMetadataFromFileDescriptor(fileDescriptor);
- const changed = fileDescriptor.changed || meta.hashOfOptions !== hashOfOptions;
- if (fileDescriptor.notFound) {
- return false;
- }
- if (changed) {
- return false;
- }
- return true;
- }
- setFormatResultsCache(filePath, options) {
- const fileDescriptor = this.fileEntryCache.getFileDescriptor(filePath);
- const meta = getMetadataFromFileDescriptor(fileDescriptor);
- if (fileDescriptor && !fileDescriptor.notFound) {
- meta.hashOfOptions = getHashOfOptions(options);
- }
- }
- reconcile() {
- this.fileEntryCache.reconcile();
- }
- };
- module2.exports = FormatResultsCache;
- }
-});
-var require_base = __commonJS2({
- "node_modules/diff/lib/diff/base.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2["default"] = Diff;
- function Diff() {
- }
- Diff.prototype = {
- diff: function diff(oldString, newString) {
- var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
- var callback = options.callback;
- if (typeof options === "function") {
- callback = options;
- options = {};
- }
- this.options = options;
- var self2 = this;
- function done(value) {
- if (callback) {
- setTimeout(function() {
- callback(void 0, value);
- }, 0);
- return true;
- } else {
- return value;
- }
- }
- oldString = this.castInput(oldString);
- newString = this.castInput(newString);
- oldString = this.removeEmpty(this.tokenize(oldString));
- newString = this.removeEmpty(this.tokenize(newString));
- var newLen = newString.length, oldLen = oldString.length;
- var editLength = 1;
- var maxEditLength = newLen + oldLen;
- var bestPath = [{
- newPos: -1,
- components: []
- }];
- var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);
- if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
- return done([{
- value: this.join(newString),
- count: newString.length
- }]);
- }
- function execEditLength() {
- for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {
- var basePath = void 0;
- var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;
- if (addPath) {
- bestPath[diagonalPath - 1] = void 0;
- }
- var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;
- if (!canAdd && !canRemove) {
- bestPath[diagonalPath] = void 0;
- continue;
- }
- if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {
- basePath = clonePath(removePath);
- self2.pushComponent(basePath.components, void 0, true);
- } else {
- basePath = addPath;
- basePath.newPos++;
- self2.pushComponent(basePath.components, true, void 0);
- }
- _oldPos = self2.extractCommon(basePath, newString, oldString, diagonalPath);
- if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {
- return done(buildValues(self2, basePath.components, newString, oldString, self2.useLongestToken));
- } else {
- bestPath[diagonalPath] = basePath;
- }
- }
- editLength++;
- }
- if (callback) {
- (function exec() {
- setTimeout(function() {
- if (editLength > maxEditLength) {
- return callback();
- }
- if (!execEditLength()) {
- exec();
- }
- }, 0);
- })();
- } else {
- while (editLength <= maxEditLength) {
- var ret = execEditLength();
- if (ret) {
- return ret;
- }
- }
- }
- },
- pushComponent: function pushComponent(components, added, removed) {
- var last = components[components.length - 1];
- if (last && last.added === added && last.removed === removed) {
- components[components.length - 1] = {
- count: last.count + 1,
- added,
- removed
- };
- } else {
- components.push({
- count: 1,
- added,
- removed
- });
- }
- },
- extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {
- var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0;
- while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {
- newPos++;
- oldPos++;
- commonCount++;
- }
- if (commonCount) {
- basePath.components.push({
- count: commonCount
- });
- }
- basePath.newPos = newPos;
- return oldPos;
- },
- equals: function equals(left, right) {
- if (this.options.comparator) {
- return this.options.comparator(left, right);
- } else {
- return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();
- }
- },
- removeEmpty: function removeEmpty(array2) {
- var ret = [];
- for (var i = 0; i < array2.length; i++) {
- if (array2[i]) {
- ret.push(array2[i]);
- }
- }
- return ret;
- },
- castInput: function castInput(value) {
- return value;
- },
- tokenize: function tokenize(value) {
- return value.split("");
- },
- join: function join(chars) {
- return chars.join("");
- }
- };
- function buildValues(diff, components, newString, oldString, useLongestToken) {
- var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0;
- for (; componentPos < componentLen; componentPos++) {
- var component = components[componentPos];
- if (!component.removed) {
- if (!component.added && useLongestToken) {
- var value = newString.slice(newPos, newPos + component.count);
- value = value.map(function(value2, i) {
- var oldValue = oldString[oldPos + i];
- return oldValue.length > value2.length ? oldValue : value2;
- });
- component.value = diff.join(value);
- } else {
- component.value = diff.join(newString.slice(newPos, newPos + component.count));
- }
- newPos += component.count;
- if (!component.added) {
- oldPos += component.count;
- }
- } else {
- component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));
- oldPos += component.count;
- if (componentPos && components[componentPos - 1].added) {
- var tmp = components[componentPos - 1];
- components[componentPos - 1] = components[componentPos];
- components[componentPos] = tmp;
- }
- }
- }
- var lastComponent = components[componentLen - 1];
- if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff.equals("", lastComponent.value)) {
- components[componentLen - 2].value += lastComponent.value;
- components.pop();
- }
- return components;
- }
- function clonePath(path) {
- return {
- newPos: path.newPos,
- components: path.components.slice(0)
- };
- }
- }
-});
-var require_params = __commonJS2({
- "node_modules/diff/lib/util/params.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.generateOptions = generateOptions;
- function generateOptions(options, defaults) {
- if (typeof options === "function") {
- defaults.callback = options;
- } else if (options) {
- for (var name in options) {
- if (options.hasOwnProperty(name)) {
- defaults[name] = options[name];
- }
- }
- }
- return defaults;
- }
- }
-});
-var require_line = __commonJS2({
- "node_modules/diff/lib/diff/line.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.diffLines = diffLines;
- exports2.diffTrimmedLines = diffTrimmedLines;
- exports2.lineDiff = void 0;
- var _base = _interopRequireDefault(require_base());
- var _params = require_params();
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- "default": obj
- };
- }
- var lineDiff = new _base["default"]();
- exports2.lineDiff = lineDiff;
- lineDiff.tokenize = function(value) {
- var retLines = [], linesAndNewlines = value.split(/(\n|\r\n)/);
- if (!linesAndNewlines[linesAndNewlines.length - 1]) {
- linesAndNewlines.pop();
- }
- for (var i = 0; i < linesAndNewlines.length; i++) {
- var line = linesAndNewlines[i];
- if (i % 2 && !this.options.newlineIsToken) {
- retLines[retLines.length - 1] += line;
- } else {
- if (this.options.ignoreWhitespace) {
- line = line.trim();
- }
- retLines.push(line);
- }
- }
- return retLines;
- };
- function diffLines(oldStr, newStr, callback) {
- return lineDiff.diff(oldStr, newStr, callback);
- }
- function diffTrimmedLines(oldStr, newStr, callback) {
- var options = (0, _params.generateOptions)(callback, {
- ignoreWhitespace: true
- });
- return lineDiff.diff(oldStr, newStr, options);
- }
- }
-});
-var require_create = __commonJS2({
- "node_modules/diff/lib/patch/create.js"(exports2) {
- "use strict";
- Object.defineProperty(exports2, "__esModule", {
- value: true
- });
- exports2.structuredPatch = structuredPatch;
- exports2.formatPatch = formatPatch;
- exports2.createTwoFilesPatch = createTwoFilesPatch;
- exports2.createPatch = createPatch;
- var _line = require_line();
- function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
- }
- function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
- function _unsupportedIterableToArray(o, minLen) {
- if (!o)
- return;
- if (typeof o === "string")
- return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor)
- n = o.constructor.name;
- if (n === "Map" || n === "Set")
- return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
- return _arrayLikeToArray(o, minLen);
- }
- function _iterableToArray(iter) {
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter))
- return Array.from(iter);
- }
- function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr))
- return _arrayLikeToArray(arr);
- }
- function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length)
- len = arr.length;
- for (var i = 0, arr2 = new Array(len); i < len; i++) {
- arr2[i] = arr[i];
- }
- return arr2;
- }
- function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {
- if (!options) {
- options = {};
- }
- if (typeof options.context === "undefined") {
- options.context = 4;
- }
- var diff = (0, _line.diffLines)(oldStr, newStr, options);
- diff.push({
- value: "",
- lines: []
- });
- function contextLines(lines) {
- return lines.map(function(entry) {
- return " " + entry;
- });
- }
- var hunks = [];
- var oldRangeStart = 0, newRangeStart = 0, curRange = [], oldLine = 1, newLine = 1;
- var _loop = function _loop2(i2) {
- var current = diff[i2], lines = current.lines || current.value.replace(/\n$/, "").split("\n");
- current.lines = lines;
- if (current.added || current.removed) {
- var _curRange;
- if (!oldRangeStart) {
- var prev = diff[i2 - 1];
- oldRangeStart = oldLine;
- newRangeStart = newLine;
- if (prev) {
- curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];
- oldRangeStart -= curRange.length;
- newRangeStart -= curRange.length;
- }
- }
- (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function(entry) {
- return (current.added ? "+" : "-") + entry;
- })));
- if (current.added) {
- newLine += lines.length;
- } else {
- oldLine += lines.length;
- }
- } else {
- if (oldRangeStart) {
- if (lines.length <= options.context * 2 && i2 < diff.length - 2) {
- var _curRange2;
- (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines)));
- } else {
- var _curRange3;
- var contextSize = Math.min(lines.length, options.context);
- (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize))));
- var hunk = {
- oldStart: oldRangeStart,
- oldLines: oldLine - oldRangeStart + contextSize,
- newStart: newRangeStart,
- newLines: newLine - newRangeStart + contextSize,
- lines: curRange
- };
- if (i2 >= diff.length - 2 && lines.length <= options.context) {
- var oldEOFNewline = /\n$/.test(oldStr);
- var newEOFNewline = /\n$/.test(newStr);
- var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines;
- if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) {
- curRange.splice(hunk.oldLines, 0, "\\ No newline at end of file");
- }
- if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) {
- curRange.push("\\ No newline at end of file");
- }
- }
- hunks.push(hunk);
- oldRangeStart = 0;
- newRangeStart = 0;
- curRange = [];
- }
- }
- oldLine += lines.length;
- newLine += lines.length;
- }
- };
- for (var i = 0; i < diff.length; i++) {
- _loop(i);
- }
- return {
- oldFileName,
- newFileName,
- oldHeader,
- newHeader,
- hunks
- };
- }
- function formatPatch(diff) {
- var ret = [];
- if (diff.oldFileName == diff.newFileName) {
- ret.push("Index: " + diff.oldFileName);
- }
- ret.push("===================================================================");
- ret.push("--- " + diff.oldFileName + (typeof diff.oldHeader === "undefined" ? "" : " " + diff.oldHeader));
- ret.push("+++ " + diff.newFileName + (typeof diff.newHeader === "undefined" ? "" : " " + diff.newHeader));
- for (var i = 0; i < diff.hunks.length; i++) {
- var hunk = diff.hunks[i];
- if (hunk.oldLines === 0) {
- hunk.oldStart -= 1;
- }
- if (hunk.newLines === 0) {
- hunk.newStart -= 1;
- }
- ret.push("@@ -" + hunk.oldStart + "," + hunk.oldLines + " +" + hunk.newStart + "," + hunk.newLines + " @@");
- ret.push.apply(ret, hunk.lines);
- }
- return ret.join("\n") + "\n";
- }
- function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {
- return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options));
- }
- function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {
- return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);
- }
- }
-});
-var require_format = __commonJS2({
- "src/cli/format.js"(exports2, module2) {
- "use strict";
- var {
- promises: fs
- } = require("fs");
- var path = require("path");
- var {
- default: chalk2
- } = (init_source(), __toCommonJS(source_exports));
- var prettier2 = require("./index.js");
- var {
- getStdin
- } = require("./third-party.js");
- var {
- createIgnorer,
- errors
- } = require_prettier_internal();
- var {
- expandPatterns,
- fixWindowsSlashes
- } = require_expand_patterns();
- var getOptionsForFile = require_get_options_for_file();
- var isTTY = require_is_tty();
- var findCacheFile = require_find_cache_file();
- var FormatResultsCache = require_format_results_cache();
- var {
- statSafe
- } = require_utils();
- function diff(a, b) {
- return require_create().createTwoFilesPatch("", "", a, b, "", "", {
- context: 2
- });
- }
- function handleError(context, filename, error, printedFilename) {
- if (error instanceof errors.UndefinedParserError) {
- if ((context.argv.write || context.argv.ignoreUnknown) && printedFilename) {
- printedFilename.clear();
- }
- if (context.argv.ignoreUnknown) {
- return;
- }
- if (!context.argv.check && !context.argv.listDifferent) {
- process.exitCode = 2;
- }
- context.logger.error(error.message);
- return;
- }
- if (context.argv.write) {
- process.stdout.write("\n");
- }
- const isParseError = Boolean(error && error.loc);
- const isValidationError = /^Invalid \S+ value\./.test(error && error.message);
- if (isParseError) {
- context.logger.error(`${filename}: ${String(error)}`);
- } else if (isValidationError || error instanceof errors.ConfigError) {
- context.logger.error(error.message);
- process.exit(1);
- } else if (error instanceof errors.DebugError) {
- context.logger.error(`${filename}: ${error.message}`);
- } else {
- context.logger.error(filename + ": " + (error.stack || error));
- }
- process.exitCode = 2;
- }
- function writeOutput(context, result, options) {
- process.stdout.write(context.argv.debugCheck ? result.filepath : result.formatted);
- if (options && options.cursorOffset >= 0) {
- process.stderr.write(result.cursorOffset + "\n");
- }
- }
- function listDifferent(context, input, options, filename) {
- if (!context.argv.check && !context.argv.listDifferent) {
- return;
- }
- try {
- if (!options.filepath && !options.parser) {
- throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser.");
- }
- if (!prettier2.check(input, options)) {
- if (!context.argv.write) {
- context.logger.log(filename);
- process.exitCode = 1;
- }
- }
- } catch (error) {
- context.logger.error(error.message);
- }
- return true;
- }
- function format(context, input, opt) {
- if (!opt.parser && !opt.filepath) {
- throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser.");
- }
- if (context.argv.debugPrintDoc) {
- const doc = prettier2.__debug.printToDoc(input, opt);
- return {
- formatted: prettier2.__debug.formatDoc(doc) + "\n"
- };
- }
- if (context.argv.debugPrintComments) {
- return {
- formatted: prettier2.format(JSON.stringify(prettier2.formatWithCursor(input, opt).comments || []), {
- parser: "json"
- })
- };
- }
- if (context.argv.debugPrintAst) {
- const {
- ast
- } = prettier2.__debug.parse(input, opt);
- return {
- formatted: JSON.stringify(ast)
- };
- }
- if (context.argv.debugCheck) {
- const pp = prettier2.format(input, opt);
- const pppp = prettier2.format(pp, opt);
- if (pp !== pppp) {
- throw new errors.DebugError("prettier(input) !== prettier(prettier(input))\n" + diff(pp, pppp));
- } else {
- const stringify2 = (obj) => JSON.stringify(obj, null, 2);
- const ast = stringify2(prettier2.__debug.parse(input, opt, true).ast);
- const past = stringify2(prettier2.__debug.parse(pp, opt, true).ast);
- if (ast !== past) {
- const MAX_AST_SIZE = 2097152;
- const astDiff = ast.length > MAX_AST_SIZE || past.length > MAX_AST_SIZE ? "AST diff too large to render" : diff(ast, past);
- throw new errors.DebugError("ast(input) !== ast(prettier(input))\n" + astDiff + "\n" + diff(input, pp));
- }
- }
- return {
- formatted: pp,
- filepath: opt.filepath || "(stdin)\n"
- };
- }
- const {
- performanceTestFlag
- } = context;
- if (performanceTestFlag !== null && performanceTestFlag !== void 0 && performanceTestFlag.debugBenchmark) {
- let benchmark;
- try {
- benchmark = require("benchmark");
- } catch {
- context.logger.debug("'--debug-benchmark' requires the 'benchmark' package to be installed.");
- process.exit(2);
- }
- context.logger.debug("'--debug-benchmark' option found, measuring formatWithCursor with 'benchmark' module.");
- const suite = new benchmark.Suite();
- suite.add("format", () => {
- prettier2.formatWithCursor(input, opt);
- }).on("cycle", (event) => {
- const results = {
- benchmark: String(event.target),
- hz: event.target.hz,
- ms: event.target.times.cycle * 1e3
- };
- context.logger.debug("'--debug-benchmark' measurements for formatWithCursor: " + JSON.stringify(results, null, 2));
- }).run({
- async: false
- });
- } else if (performanceTestFlag !== null && performanceTestFlag !== void 0 && performanceTestFlag.debugRepeat) {
- const repeat = context.argv.debugRepeat;
- context.logger.debug("'--debug-repeat' option found, running formatWithCursor " + repeat + " times.");
- let totalMs = 0;
- for (let i = 0; i < repeat; ++i) {
- const startMs = Date.now();
- prettier2.formatWithCursor(input, opt);
- totalMs += Date.now() - startMs;
- }
- const averageMs = totalMs / repeat;
- const results = {
- repeat,
- hz: 1e3 / averageMs,
- ms: averageMs
- };
- context.logger.debug("'--debug-repeat' measurements for formatWithCursor: " + JSON.stringify(results, null, 2));
- }
- return prettier2.formatWithCursor(input, opt);
- }
- async function createIgnorerFromContextOrDie(context) {
- try {
- return await createIgnorer(context.argv.ignorePath, context.argv.withNodeModules);
- } catch (e) {
- context.logger.error(e.message);
- process.exit(2);
- }
- }
- async function formatStdin2(context) {
- const filepath = context.argv.filepath ? path.resolve(process.cwd(), context.argv.filepath) : process.cwd();
- const ignorer = await createIgnorerFromContextOrDie(context);
- const relativeFilepath = context.argv.ignorePath ? path.relative(path.dirname(context.argv.ignorePath), filepath) : path.relative(process.cwd(), filepath);
- try {
- const input = await getStdin();
- if (relativeFilepath && ignorer.ignores(fixWindowsSlashes(relativeFilepath))) {
- writeOutput(context, {
- formatted: input
- });
- return;
- }
- const options = await getOptionsForFile(context, filepath);
- if (listDifferent(context, input, options, "(stdin)")) {
- return;
- }
- const formatted = format(context, input, options);
- const {
- performanceTestFlag
- } = context;
- if (performanceTestFlag) {
- context.logger.log(`'${performanceTestFlag.name}' option found, skipped print code to screen.`);
- return;
- }
- writeOutput(context, formatted, options);
- } catch (error) {
- handleError(context, relativeFilepath || "stdin", error);
- }
- }
- async function formatFiles2(context) {
- var _formatResultsCache3;
- const ignorer = await createIgnorerFromContextOrDie(context);
- let numberOfUnformattedFilesFound = 0;
- const {
- performanceTestFlag
- } = context;
- if (context.argv.check && !performanceTestFlag) {
- context.logger.log("Checking formatting...");
- }
- let formatResultsCache;
- const cacheFilePath = findCacheFile();
- if (context.argv.cache) {
- formatResultsCache = new FormatResultsCache(cacheFilePath, context.argv.cacheStrategy || "content");
- } else {
- if (context.argv.cacheStrategy) {
- context.logger.error("`--cache-strategy` cannot be used without `--cache`.");
- process.exit(2);
- }
- const stat = await statSafe(cacheFilePath);
- if (stat) {
- await fs.unlink(cacheFilePath);
- }
- }
- for await (const pathOrError of expandPatterns(context)) {
- var _formatResultsCache, _formatResultsCache2;
- if (typeof pathOrError === "object") {
- context.logger.error(pathOrError.error);
- process.exitCode = 2;
- continue;
- }
- const filename = pathOrError;
- const ignoreFilename = context.argv.ignorePath ? path.relative(path.dirname(context.argv.ignorePath), filename) : filename;
- const fileIgnored = ignorer.ignores(fixWindowsSlashes(ignoreFilename));
- if (fileIgnored && (context.argv.debugCheck || context.argv.write || context.argv.check || context.argv.listDifferent)) {
- continue;
- }
- const options = Object.assign(Object.assign({}, await getOptionsForFile(context, filename)), {}, {
- filepath: filename
- });
- let printedFilename;
- if (isTTY()) {
- printedFilename = context.logger.log(filename, {
- newline: false,
- clearable: true
- });
- }
- let input;
- try {
- input = await fs.readFile(filename, "utf8");
- } catch (error) {
- context.logger.log("");
- context.logger.error(`Unable to read file: ${filename}
-${error.message}`);
- process.exitCode = 2;
- continue;
- }
- if (fileIgnored) {
- writeOutput(context, {
- formatted: input
- }, options);
- continue;
- }
- const start = Date.now();
- const isCacheExists = (_formatResultsCache = formatResultsCache) === null || _formatResultsCache === void 0 ? void 0 : _formatResultsCache.existsAvailableFormatResultsCache(filename, options);
- let result;
- let output;
- try {
- if (isCacheExists) {
- result = {
- formatted: input
- };
- } else {
- result = format(context, input, options);
- }
- output = result.formatted;
- } catch (error) {
- handleError(context, filename, error, printedFilename);
- continue;
- }
- (_formatResultsCache2 = formatResultsCache) === null || _formatResultsCache2 === void 0 ? void 0 : _formatResultsCache2.setFormatResultsCache(filename, options);
- const isDifferent = output !== input;
- if (printedFilename) {
- printedFilename.clear();
- }
- if (performanceTestFlag) {
- context.logger.log(`'${performanceTestFlag.name}' option found, skipped print code or write files.`);
- return;
- }
- if (context.argv.write) {
- if (isDifferent) {
- if (!context.argv.check && !context.argv.listDifferent) {
- context.logger.log(`${filename} ${Date.now() - start}ms`);
- }
- try {
- await fs.writeFile(filename, output, "utf8");
- } catch (error) {
- context.logger.error(`Unable to write file: ${filename}
-${error.message}`);
- process.exitCode = 2;
- }
- } else if (!context.argv.check && !context.argv.listDifferent) {
- const message = `${chalk2.grey(filename)} ${Date.now() - start}ms`;
- if (isCacheExists) {
- context.logger.log(`${message} (cached)`);
- } else {
- context.logger.log(message);
- }
- }
- } else if (context.argv.debugCheck) {
- if (result.filepath) {
- context.logger.log(result.filepath);
- } else {
- process.exitCode = 2;
- }
- } else if (!context.argv.check && !context.argv.listDifferent) {
- writeOutput(context, result, options);
- }
- if (isDifferent) {
- if (context.argv.check) {
- context.logger.warn(filename);
- } else if (context.argv.listDifferent) {
- context.logger.log(filename);
- }
- numberOfUnformattedFilesFound += 1;
- }
- }
- (_formatResultsCache3 = formatResultsCache) === null || _formatResultsCache3 === void 0 ? void 0 : _formatResultsCache3.reconcile();
- if (context.argv.check) {
- if (numberOfUnformattedFilesFound === 0) {
- context.logger.log("All matched files use Prettier code style!");
- } else if (numberOfUnformattedFilesFound === 1) {
- context.logger.warn(context.argv.write ? "Code style issues fixed in the above file." : "Code style issues found in the above file. Forgot to run Prettier?");
- } else {
- context.logger.warn(context.argv.write ? "Code style issues found in " + numberOfUnformattedFilesFound + " files." : "Code style issues found in " + numberOfUnformattedFilesFound + " files. Forgot to run Prettier?");
- }
- }
- if ((context.argv.check || context.argv.listDifferent) && numberOfUnformattedFilesFound > 0 && !process.exitCode && !context.argv.write) {
- process.exitCode = 1;
- }
- }
- module2.exports = {
- formatStdin: formatStdin2,
- formatFiles: formatFiles2
- };
- }
-});
-var require_file_info = __commonJS2({
- "src/cli/file-info.js"(exports2, module2) {
- "use strict";
- var stringify2 = require_fast_json_stable_stringify();
- var prettier2 = require("./index.js");
- var {
- printToScreen: printToScreen2
- } = require_utils();
- async function logFileInfoOrDie2(context) {
- const {
- fileInfo: file,
- ignorePath,
- withNodeModules,
- plugins,
- pluginSearchDirs,
- config
- } = context.argv;
- const fileInfo = await prettier2.getFileInfo(file, {
- ignorePath,
- withNodeModules,
- plugins,
- pluginSearchDirs,
- resolveConfig: config !== false
- });
- printToScreen2(prettier2.format(stringify2(fileInfo), {
- parser: "json"
- }));
- }
- module2.exports = logFileInfoOrDie2;
- }
-});
-var require_find_config_path = __commonJS2({
- "src/cli/find-config-path.js"(exports2, module2) {
- "use strict";
- var path = require("path");
- var prettier2 = require("./index.js");
- var {
- printToScreen: printToScreen2
- } = require_utils();
- async function logResolvedConfigPathOrDie2(context) {
- const file = context.argv.findConfigPath;
- const configFile = await prettier2.resolveConfigFile(file);
- if (configFile) {
- printToScreen2(path.relative(process.cwd(), configFile));
- } else {
- throw new Error(`Can not find configure file for "${file}"`);
- }
- }
- module2.exports = logResolvedConfigPathOrDie2;
- }
-});
-var stringify = require_fast_json_stable_stringify();
-var prettier = require("./index.js");
-var createLogger = require_logger();
-var Context = require_context();
-var {
- parseArgvWithoutPlugins
-} = require_parse_cli_arguments();
-var {
- createDetailedUsage,
- createUsage
-} = require_usage();
-var {
- formatStdin,
- formatFiles
-} = require_format();
-var logFileInfoOrDie = require_file_info();
-var logResolvedConfigPathOrDie = require_find_config_path();
-var {
- utils: {
- isNonEmptyArray
- }
-} = require_prettier_internal();
-var {
- printToScreen
-} = require_utils();
-async function run(rawArguments) {
- let logger = createLogger();
- try {
- const logLevel = parseArgvWithoutPlugins(rawArguments, logger, "loglevel").loglevel;
- if (logLevel !== logger.logLevel) {
- logger = createLogger(logLevel);
- }
- const context = new Context({
- rawArguments,
- logger
- });
- if (logger.logLevel !== "debug" && context.performanceTestFlag) {
- context.logger = createLogger("debug");
- }
- await main(context);
- } catch (error) {
- logger.error(error.message);
- process.exitCode = 1;
- }
-}
-async function main(context) {
- context.logger.debug(`normalized argv: ${JSON.stringify(context.argv)}`);
- if (context.argv.pluginSearch === false) {
- const rawPluginSearchDirs = context.argv.__raw["plugin-search-dir"];
- if (typeof rawPluginSearchDirs === "string" || isNonEmptyArray(rawPluginSearchDirs)) {
- throw new Error("Cannot use --no-plugin-search and --plugin-search-dir together.");
- }
- }
- if (context.argv.check && context.argv.listDifferent) {
- throw new Error("Cannot use --check and --list-different together.");
- }
- if (context.argv.write && context.argv.debugCheck) {
- throw new Error("Cannot use --write and --debug-check together.");
- }
- if (context.argv.findConfigPath && context.filePatterns.length > 0) {
- throw new Error("Cannot use --find-config-path with multiple files");
- }
- if (context.argv.fileInfo && context.filePatterns.length > 0) {
- throw new Error("Cannot use --file-info with multiple files");
- }
- if (context.argv.version) {
- printToScreen(prettier.version);
- return;
- }
- if (context.argv.help !== void 0) {
- printToScreen(typeof context.argv.help === "string" && context.argv.help !== "" ? createDetailedUsage(context, context.argv.help) : createUsage(context));
- return;
- }
- if (context.argv.supportInfo) {
- printToScreen(prettier.format(stringify(prettier.getSupportInfo()), {
- parser: "json"
- }));
- return;
- }
- const hasFilePatterns = context.filePatterns.length > 0;
- const useStdin = !hasFilePatterns && (!process.stdin.isTTY || context.argv.filePath);
- if (context.argv.findConfigPath) {
- await logResolvedConfigPathOrDie(context);
- } else if (context.argv.fileInfo) {
- await logFileInfoOrDie(context);
- } else if (useStdin) {
- if (context.argv.cache) {
- context.logger.error("`--cache` cannot be used with stdin.");
- process.exit(2);
- }
- await formatStdin(context);
- } else if (hasFilePatterns) {
- await formatFiles(context);
- } else {
- process.exitCode = 1;
- printToScreen(createUsage(context));
- }
-}
-module.exports = {
- run
-};
diff --git a/node_modules/prettier/doc.js b/node_modules/prettier/doc.js
deleted file mode 100644
index c07e788..0000000
--- a/node_modules/prettier/doc.js
+++ /dev/null
@@ -1,1392 +0,0 @@
-(function (factory) {
- if (typeof exports === "object" && typeof module === "object") {
- module.exports = factory();
- } else if (typeof define === "function" && define.amd) {
- define(factory);
- } else {
- var root =
- typeof globalThis !== "undefined"
- ? globalThis
- : typeof global !== "undefined"
- ? global
- : typeof self !== "undefined"
- ? self
- : this || {};
- root.doc = factory();
- }
-})(function() {
- "use strict";
- var __getOwnPropNames = Object.getOwnPropertyNames;
- var __commonJS = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
- };
-
- // dist/_doc.js.umd.js
- var require_doc_js_umd = __commonJS({
- "dist/_doc.js.umd.js"(exports, module) {
- var __create = Object.create;
- var __defProp = Object.defineProperty;
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
- var __getOwnPropNames2 = Object.getOwnPropertyNames;
- var __getProtoOf = Object.getPrototypeOf;
- var __hasOwnProp = Object.prototype.hasOwnProperty;
- var __esm = (fn, res) => function __init() {
- return fn && (res = (0, fn[__getOwnPropNames2(fn)[0]])(fn = 0)), res;
- };
- var __commonJS2 = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = {
- exports: {}
- }).exports, mod), mod.exports;
- };
- var __export = (target, all) => {
- for (var name in all)
- __defProp(target, name, {
- get: all[name],
- enumerable: true
- });
- };
- var __copyProps = (to, from, except, desc) => {
- if (from && typeof from === "object" || typeof from === "function") {
- for (let key of __getOwnPropNames2(from))
- if (!__hasOwnProp.call(to, key) && key !== except)
- __defProp(to, key, {
- get: () => from[key],
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
- });
- }
- return to;
- };
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
- value: mod,
- enumerable: true
- }) : target, mod));
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", {
- value: true
- }), mod);
- var init_define_process = __esm({
- ""() {
- }
- });
- var require_doc_builders = __commonJS2({
- "src/document/doc-builders.js"(exports2, module2) {
- "use strict";
- init_define_process();
- function concat(parts) {
- if (false) {
- for (const part of parts) {
- assertDoc(part);
- }
- }
- return {
- type: "concat",
- parts
- };
- }
- function indent(contents) {
- if (false) {
- assertDoc(contents);
- }
- return {
- type: "indent",
- contents
- };
- }
- function align(widthOrString, contents) {
- if (false) {
- assertDoc(contents);
- }
- return {
- type: "align",
- contents,
- n: widthOrString
- };
- }
- function group(contents) {
- let opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
- if (false) {
- assertDoc(contents);
- }
- return {
- type: "group",
- id: opts.id,
- contents,
- break: Boolean(opts.shouldBreak),
- expandedStates: opts.expandedStates
- };
- }
- function dedentToRoot(contents) {
- return align(Number.NEGATIVE_INFINITY, contents);
- }
- function markAsRoot(contents) {
- return align({
- type: "root"
- }, contents);
- }
- function dedent(contents) {
- return align(-1, contents);
- }
- function conditionalGroup(states, opts) {
- return group(states[0], Object.assign(Object.assign({}, opts), {}, {
- expandedStates: states
- }));
- }
- function fill(parts) {
- if (false) {
- for (const part of parts) {
- assertDoc(part);
- }
- }
- return {
- type: "fill",
- parts
- };
- }
- function ifBreak(breakContents, flatContents) {
- let opts = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
- if (false) {
- if (breakContents) {
- assertDoc(breakContents);
- }
- if (flatContents) {
- assertDoc(flatContents);
- }
- }
- return {
- type: "if-break",
- breakContents,
- flatContents,
- groupId: opts.groupId
- };
- }
- function indentIfBreak(contents, opts) {
- return {
- type: "indent-if-break",
- contents,
- groupId: opts.groupId,
- negate: opts.negate
- };
- }
- function lineSuffix(contents) {
- if (false) {
- assertDoc(contents);
- }
- return {
- type: "line-suffix",
- contents
- };
- }
- var lineSuffixBoundary = {
- type: "line-suffix-boundary"
- };
- var breakParent = {
- type: "break-parent"
- };
- var trim = {
- type: "trim"
- };
- var hardlineWithoutBreakParent = {
- type: "line",
- hard: true
- };
- var literallineWithoutBreakParent = {
- type: "line",
- hard: true,
- literal: true
- };
- var line = {
- type: "line"
- };
- var softline = {
- type: "line",
- soft: true
- };
- var hardline = concat([hardlineWithoutBreakParent, breakParent]);
- var literalline = concat([literallineWithoutBreakParent, breakParent]);
- var cursor = {
- type: "cursor",
- placeholder: Symbol("cursor")
- };
- function join(sep, arr) {
- const res = [];
- for (let i = 0; i < arr.length; i++) {
- if (i !== 0) {
- res.push(sep);
- }
- res.push(arr[i]);
- }
- return concat(res);
- }
- function addAlignmentToDoc(doc, size, tabWidth) {
- let aligned = doc;
- if (size > 0) {
- for (let i = 0; i < Math.floor(size / tabWidth); ++i) {
- aligned = indent(aligned);
- }
- aligned = align(size % tabWidth, aligned);
- aligned = align(Number.NEGATIVE_INFINITY, aligned);
- }
- return aligned;
- }
- function label(label2, contents) {
- return {
- type: "label",
- label: label2,
- contents
- };
- }
- module2.exports = {
- concat,
- join,
- line,
- softline,
- hardline,
- literalline,
- group,
- conditionalGroup,
- fill,
- lineSuffix,
- lineSuffixBoundary,
- cursor,
- breakParent,
- ifBreak,
- trim,
- indent,
- indentIfBreak,
- align,
- addAlignmentToDoc,
- markAsRoot,
- dedentToRoot,
- dedent,
- hardlineWithoutBreakParent,
- literallineWithoutBreakParent,
- label
- };
- }
- });
- var require_end_of_line = __commonJS2({
- "src/common/end-of-line.js"(exports2, module2) {
- "use strict";
- init_define_process();
- function guessEndOfLine(text) {
- const index = text.indexOf("\r");
- if (index >= 0) {
- return text.charAt(index + 1) === "\n" ? "crlf" : "cr";
- }
- return "lf";
- }
- function convertEndOfLineToChars(value) {
- switch (value) {
- case "cr":
- return "\r";
- case "crlf":
- return "\r\n";
- default:
- return "\n";
- }
- }
- function countEndOfLineChars(text, eol) {
- let regex;
- switch (eol) {
- case "\n":
- regex = /\n/g;
- break;
- case "\r":
- regex = /\r/g;
- break;
- case "\r\n":
- regex = /\r\n/g;
- break;
- default:
- throw new Error('Unexpected "eol" '.concat(JSON.stringify(eol), "."));
- }
- const endOfLines = text.match(regex);
- return endOfLines ? endOfLines.length : 0;
- }
- function normalizeEndOfLine(text) {
- return text.replace(/\r\n?/g, "\n");
- }
- module2.exports = {
- guessEndOfLine,
- convertEndOfLineToChars,
- countEndOfLineChars,
- normalizeEndOfLine
- };
- }
- });
- var require_get_last = __commonJS2({
- "src/utils/get-last.js"(exports2, module2) {
- "use strict";
- init_define_process();
- var getLast = (arr) => arr[arr.length - 1];
- module2.exports = getLast;
- }
- });
- function ansiRegex() {
- let {
- onlyFirst = false
- } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
- const pattern = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");
- return new RegExp(pattern, onlyFirst ? void 0 : "g");
- }
- var init_ansi_regex = __esm({
- "node_modules/strip-ansi/node_modules/ansi-regex/index.js"() {
- init_define_process();
- }
- });
- function stripAnsi(string) {
- if (typeof string !== "string") {
- throw new TypeError("Expected a `string`, got `".concat(typeof string, "`"));
- }
- return string.replace(ansiRegex(), "");
- }
- var init_strip_ansi = __esm({
- "node_modules/strip-ansi/index.js"() {
- init_define_process();
- init_ansi_regex();
- }
- });
- function isFullwidthCodePoint(codePoint) {
- if (!Number.isInteger(codePoint)) {
- return false;
- }
- return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || 12880 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65131 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 262141);
- }
- var init_is_fullwidth_code_point = __esm({
- "node_modules/is-fullwidth-code-point/index.js"() {
- init_define_process();
- }
- });
- var require_emoji_regex = __commonJS2({
- "node_modules/emoji-regex/index.js"(exports2, module2) {
- "use strict";
- init_define_process();
- module2.exports = function() {
- return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
- };
- }
- });
- var string_width_exports = {};
- __export(string_width_exports, {
- default: () => stringWidth
- });
- function stringWidth(string) {
- if (typeof string !== "string" || string.length === 0) {
- return 0;
- }
- string = stripAnsi(string);
- if (string.length === 0) {
- return 0;
- }
- string = string.replace((0, import_emoji_regex.default)(), " ");
- let width = 0;
- for (let index = 0; index < string.length; index++) {
- const codePoint = string.codePointAt(index);
- if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
- continue;
- }
- if (codePoint >= 768 && codePoint <= 879) {
- continue;
- }
- if (codePoint > 65535) {
- index++;
- }
- width += isFullwidthCodePoint(codePoint) ? 2 : 1;
- }
- return width;
- }
- var import_emoji_regex;
- var init_string_width = __esm({
- "node_modules/string-width/index.js"() {
- init_define_process();
- init_strip_ansi();
- init_is_fullwidth_code_point();
- import_emoji_regex = __toESM(require_emoji_regex());
- }
- });
- var require_get_string_width = __commonJS2({
- "src/utils/get-string-width.js"(exports2, module2) {
- "use strict";
- init_define_process();
- var stringWidth2 = (init_string_width(), __toCommonJS(string_width_exports)).default;
- var notAsciiRegex = /[^\x20-\x7F]/;
- function getStringWidth(text) {
- if (!text) {
- return 0;
- }
- if (!notAsciiRegex.test(text)) {
- return text.length;
- }
- return stringWidth2(text);
- }
- module2.exports = getStringWidth;
- }
- });
- var require_doc_utils = __commonJS2({
- "src/document/doc-utils.js"(exports2, module2) {
- "use strict";
- init_define_process();
- var getLast = require_get_last();
- var {
- literalline,
- join
- } = require_doc_builders();
- var isConcat = (doc) => Array.isArray(doc) || doc && doc.type === "concat";
- var getDocParts = (doc) => {
- if (Array.isArray(doc)) {
- return doc;
- }
- if (doc.type !== "concat" && doc.type !== "fill") {
- throw new Error("Expect doc type to be `concat` or `fill`.");
- }
- return doc.parts;
- };
- var traverseDocOnExitStackMarker = {};
- function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) {
- const docsStack = [doc];
- while (docsStack.length > 0) {
- const doc2 = docsStack.pop();
- if (doc2 === traverseDocOnExitStackMarker) {
- onExit(docsStack.pop());
- continue;
- }
- if (onExit) {
- docsStack.push(doc2, traverseDocOnExitStackMarker);
- }
- if (!onEnter || onEnter(doc2) !== false) {
- if (isConcat(doc2) || doc2.type === "fill") {
- const parts = getDocParts(doc2);
- for (let ic = parts.length, i = ic - 1; i >= 0; --i) {
- docsStack.push(parts[i]);
- }
- } else if (doc2.type === "if-break") {
- if (doc2.flatContents) {
- docsStack.push(doc2.flatContents);
- }
- if (doc2.breakContents) {
- docsStack.push(doc2.breakContents);
- }
- } else if (doc2.type === "group" && doc2.expandedStates) {
- if (shouldTraverseConditionalGroups) {
- for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {
- docsStack.push(doc2.expandedStates[i]);
- }
- } else {
- docsStack.push(doc2.contents);
- }
- } else if (doc2.contents) {
- docsStack.push(doc2.contents);
- }
- }
- }
- }
- function mapDoc(doc, cb) {
- const mapped = /* @__PURE__ */ new Map();
- return rec(doc);
- function rec(doc2) {
- if (mapped.has(doc2)) {
- return mapped.get(doc2);
- }
- const result = process2(doc2);
- mapped.set(doc2, result);
- return result;
- }
- function process2(doc2) {
- if (Array.isArray(doc2)) {
- return cb(doc2.map(rec));
- }
- if (doc2.type === "concat" || doc2.type === "fill") {
- const parts = doc2.parts.map(rec);
- return cb(Object.assign(Object.assign({}, doc2), {}, {
- parts
- }));
- }
- if (doc2.type === "if-break") {
- const breakContents = doc2.breakContents && rec(doc2.breakContents);
- const flatContents = doc2.flatContents && rec(doc2.flatContents);
- return cb(Object.assign(Object.assign({}, doc2), {}, {
- breakContents,
- flatContents
- }));
- }
- if (doc2.type === "group" && doc2.expandedStates) {
- const expandedStates = doc2.expandedStates.map(rec);
- const contents = expandedStates[0];
- return cb(Object.assign(Object.assign({}, doc2), {}, {
- contents,
- expandedStates
- }));
- }
- if (doc2.contents) {
- const contents = rec(doc2.contents);
- return cb(Object.assign(Object.assign({}, doc2), {}, {
- contents
- }));
- }
- return cb(doc2);
- }
- }
- function findInDoc(doc, fn, defaultValue) {
- let result = defaultValue;
- let hasStopped = false;
- function findInDocOnEnterFn(doc2) {
- const maybeResult = fn(doc2);
- if (maybeResult !== void 0) {
- hasStopped = true;
- result = maybeResult;
- }
- if (hasStopped) {
- return false;
- }
- }
- traverseDoc(doc, findInDocOnEnterFn);
- return result;
- }
- function willBreakFn(doc) {
- if (doc.type === "group" && doc.break) {
- return true;
- }
- if (doc.type === "line" && doc.hard) {
- return true;
- }
- if (doc.type === "break-parent") {
- return true;
- }
- }
- function willBreak(doc) {
- return findInDoc(doc, willBreakFn, false);
- }
- function breakParentGroup(groupStack) {
- if (groupStack.length > 0) {
- const parentGroup = getLast(groupStack);
- if (!parentGroup.expandedStates && !parentGroup.break) {
- parentGroup.break = "propagated";
- }
- }
- return null;
- }
- function propagateBreaks(doc) {
- const alreadyVisitedSet = /* @__PURE__ */ new Set();
- const groupStack = [];
- function propagateBreaksOnEnterFn(doc2) {
- if (doc2.type === "break-parent") {
- breakParentGroup(groupStack);
- }
- if (doc2.type === "group") {
- groupStack.push(doc2);
- if (alreadyVisitedSet.has(doc2)) {
- return false;
- }
- alreadyVisitedSet.add(doc2);
- }
- }
- function propagateBreaksOnExitFn(doc2) {
- if (doc2.type === "group") {
- const group = groupStack.pop();
- if (group.break) {
- breakParentGroup(groupStack);
- }
- }
- }
- traverseDoc(doc, propagateBreaksOnEnterFn, propagateBreaksOnExitFn, true);
- }
- function removeLinesFn(doc) {
- if (doc.type === "line" && !doc.hard) {
- return doc.soft ? "" : " ";
- }
- if (doc.type === "if-break") {
- return doc.flatContents || "";
- }
- return doc;
- }
- function removeLines(doc) {
- return mapDoc(doc, removeLinesFn);
- }
- var isHardline = (doc, nextDoc) => doc && doc.type === "line" && doc.hard && nextDoc && nextDoc.type === "break-parent";
- function stripDocTrailingHardlineFromDoc(doc) {
- if (!doc) {
- return doc;
- }
- if (isConcat(doc) || doc.type === "fill") {
- const parts = getDocParts(doc);
- while (parts.length > 1 && isHardline(...parts.slice(-2))) {
- parts.length -= 2;
- }
- if (parts.length > 0) {
- const lastPart = stripDocTrailingHardlineFromDoc(getLast(parts));
- parts[parts.length - 1] = lastPart;
- }
- return Array.isArray(doc) ? parts : Object.assign(Object.assign({}, doc), {}, {
- parts
- });
- }
- switch (doc.type) {
- case "align":
- case "indent":
- case "indent-if-break":
- case "group":
- case "line-suffix":
- case "label": {
- const contents = stripDocTrailingHardlineFromDoc(doc.contents);
- return Object.assign(Object.assign({}, doc), {}, {
- contents
- });
- }
- case "if-break": {
- const breakContents = stripDocTrailingHardlineFromDoc(doc.breakContents);
- const flatContents = stripDocTrailingHardlineFromDoc(doc.flatContents);
- return Object.assign(Object.assign({}, doc), {}, {
- breakContents,
- flatContents
- });
- }
- }
- return doc;
- }
- function stripTrailingHardline(doc) {
- return stripDocTrailingHardlineFromDoc(cleanDoc(doc));
- }
- function cleanDocFn(doc) {
- switch (doc.type) {
- case "fill":
- if (doc.parts.every((part) => part === "")) {
- return "";
- }
- break;
- case "group":
- if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) {
- return "";
- }
- if (doc.contents.type === "group" && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) {
- return doc.contents;
- }
- break;
- case "align":
- case "indent":
- case "indent-if-break":
- case "line-suffix":
- if (!doc.contents) {
- return "";
- }
- break;
- case "if-break":
- if (!doc.flatContents && !doc.breakContents) {
- return "";
- }
- break;
- }
- if (!isConcat(doc)) {
- return doc;
- }
- const parts = [];
- for (const part of getDocParts(doc)) {
- if (!part) {
- continue;
- }
- const [currentPart, ...restParts] = isConcat(part) ? getDocParts(part) : [part];
- if (typeof currentPart === "string" && typeof getLast(parts) === "string") {
- parts[parts.length - 1] += currentPart;
- } else {
- parts.push(currentPart);
- }
- parts.push(...restParts);
- }
- if (parts.length === 0) {
- return "";
- }
- if (parts.length === 1) {
- return parts[0];
- }
- return Array.isArray(doc) ? parts : Object.assign(Object.assign({}, doc), {}, {
- parts
- });
- }
- function cleanDoc(doc) {
- return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc));
- }
- function normalizeParts(parts) {
- const newParts = [];
- const restParts = parts.filter(Boolean);
- while (restParts.length > 0) {
- const part = restParts.shift();
- if (!part) {
- continue;
- }
- if (isConcat(part)) {
- restParts.unshift(...getDocParts(part));
- continue;
- }
- if (newParts.length > 0 && typeof getLast(newParts) === "string" && typeof part === "string") {
- newParts[newParts.length - 1] += part;
- continue;
- }
- newParts.push(part);
- }
- return newParts;
- }
- function normalizeDoc(doc) {
- return mapDoc(doc, (currentDoc) => {
- if (Array.isArray(currentDoc)) {
- return normalizeParts(currentDoc);
- }
- if (!currentDoc.parts) {
- return currentDoc;
- }
- return Object.assign(Object.assign({}, currentDoc), {}, {
- parts: normalizeParts(currentDoc.parts)
- });
- });
- }
- function replaceEndOfLine(doc) {
- return mapDoc(doc, (currentDoc) => typeof currentDoc === "string" && currentDoc.includes("\n") ? replaceTextEndOfLine(currentDoc) : currentDoc);
- }
- function replaceTextEndOfLine(text) {
- let replacement = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : literalline;
- return join(replacement, text.split("\n")).parts;
- }
- function canBreakFn(doc) {
- if (doc.type === "line") {
- return true;
- }
- }
- function canBreak(doc) {
- return findInDoc(doc, canBreakFn, false);
- }
- module2.exports = {
- isConcat,
- getDocParts,
- willBreak,
- traverseDoc,
- findInDoc,
- mapDoc,
- propagateBreaks,
- removeLines,
- stripTrailingHardline,
- normalizeParts,
- normalizeDoc,
- cleanDoc,
- replaceTextEndOfLine,
- replaceEndOfLine,
- canBreak
- };
- }
- });
- var require_doc_printer = __commonJS2({
- "src/document/doc-printer.js"(exports2, module2) {
- "use strict";
- init_define_process();
- var {
- convertEndOfLineToChars
- } = require_end_of_line();
- var getLast = require_get_last();
- var getStringWidth = require_get_string_width();
- var {
- fill,
- cursor,
- indent
- } = require_doc_builders();
- var {
- isConcat,
- getDocParts
- } = require_doc_utils();
- var groupModeMap;
- var MODE_BREAK = 1;
- var MODE_FLAT = 2;
- function rootIndent() {
- return {
- value: "",
- length: 0,
- queue: []
- };
- }
- function makeIndent(ind, options) {
- return generateInd(ind, {
- type: "indent"
- }, options);
- }
- function makeAlign(indent2, widthOrDoc, options) {
- if (widthOrDoc === Number.NEGATIVE_INFINITY) {
- return indent2.root || rootIndent();
- }
- if (widthOrDoc < 0) {
- return generateInd(indent2, {
- type: "dedent"
- }, options);
- }
- if (!widthOrDoc) {
- return indent2;
- }
- if (widthOrDoc.type === "root") {
- return Object.assign(Object.assign({}, indent2), {}, {
- root: indent2
- });
- }
- const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign";
- return generateInd(indent2, {
- type: alignType,
- n: widthOrDoc
- }, options);
- }
- function generateInd(ind, newPart, options) {
- const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart];
- let value = "";
- let length = 0;
- let lastTabs = 0;
- let lastSpaces = 0;
- for (const part of queue) {
- switch (part.type) {
- case "indent":
- flush();
- if (options.useTabs) {
- addTabs(1);
- } else {
- addSpaces(options.tabWidth);
- }
- break;
- case "stringAlign":
- flush();
- value += part.n;
- length += part.n.length;
- break;
- case "numberAlign":
- lastTabs += 1;
- lastSpaces += part.n;
- break;
- default:
- throw new Error("Unexpected type '".concat(part.type, "'"));
- }
- }
- flushSpaces();
- return Object.assign(Object.assign({}, ind), {}, {
- value,
- length,
- queue
- });
- function addTabs(count) {
- value += " ".repeat(count);
- length += options.tabWidth * count;
- }
- function addSpaces(count) {
- value += " ".repeat(count);
- length += count;
- }
- function flush() {
- if (options.useTabs) {
- flushTabs();
- } else {
- flushSpaces();
- }
- }
- function flushTabs() {
- if (lastTabs > 0) {
- addTabs(lastTabs);
- }
- resetLast();
- }
- function flushSpaces() {
- if (lastSpaces > 0) {
- addSpaces(lastSpaces);
- }
- resetLast();
- }
- function resetLast() {
- lastTabs = 0;
- lastSpaces = 0;
- }
- }
- function trim(out) {
- if (out.length === 0) {
- return 0;
- }
- let trimCount = 0;
- while (out.length > 0 && typeof getLast(out) === "string" && /^[\t ]*$/.test(getLast(out))) {
- trimCount += out.pop().length;
- }
- if (out.length > 0 && typeof getLast(out) === "string") {
- const trimmed = getLast(out).replace(/[\t ]*$/, "");
- trimCount += getLast(out).length - trimmed.length;
- out[out.length - 1] = trimmed;
- }
- return trimCount;
- }
- function fits(next, restCommands, width, options, hasLineSuffix, mustBeFlat) {
- let restIdx = restCommands.length;
- const cmds = [next];
- const out = [];
- while (width >= 0) {
- if (cmds.length === 0) {
- if (restIdx === 0) {
- return true;
- }
- cmds.push(restCommands[restIdx - 1]);
- restIdx--;
- continue;
- }
- const [ind, mode, doc] = cmds.pop();
- if (typeof doc === "string") {
- out.push(doc);
- width -= getStringWidth(doc);
- } else if (isConcat(doc)) {
- const parts = getDocParts(doc);
- for (let i = parts.length - 1; i >= 0; i--) {
- cmds.push([ind, mode, parts[i]]);
- }
- } else {
- switch (doc.type) {
- case "indent":
- cmds.push([makeIndent(ind, options), mode, doc.contents]);
- break;
- case "align":
- cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]);
- break;
- case "trim":
- width += trim(out);
- break;
- case "group": {
- if (mustBeFlat && doc.break) {
- return false;
- }
- const groupMode = doc.break ? MODE_BREAK : mode;
- cmds.push([ind, groupMode, doc.expandedStates && groupMode === MODE_BREAK ? getLast(doc.expandedStates) : doc.contents]);
- if (doc.id) {
- groupModeMap[doc.id] = groupMode;
- }
- break;
- }
- case "fill":
- for (let i = doc.parts.length - 1; i >= 0; i--) {
- cmds.push([ind, mode, doc.parts[i]]);
- }
- break;
- case "if-break":
- case "indent-if-break": {
- const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode;
- if (groupMode === MODE_BREAK) {
- const breakContents = doc.type === "if-break" ? doc.breakContents : doc.negate ? doc.contents : indent(doc.contents);
- if (breakContents) {
- cmds.push([ind, mode, breakContents]);
- }
- }
- if (groupMode === MODE_FLAT) {
- const flatContents = doc.type === "if-break" ? doc.flatContents : doc.negate ? indent(doc.contents) : doc.contents;
- if (flatContents) {
- cmds.push([ind, mode, flatContents]);
- }
- }
- break;
- }
- case "line":
- switch (mode) {
- case MODE_FLAT:
- if (!doc.hard) {
- if (!doc.soft) {
- out.push(" ");
- width -= 1;
- }
- break;
- }
- return true;
- case MODE_BREAK:
- return true;
- }
- break;
- case "line-suffix":
- hasLineSuffix = true;
- break;
- case "line-suffix-boundary":
- if (hasLineSuffix) {
- return false;
- }
- break;
- case "label":
- cmds.push([ind, mode, doc.contents]);
- break;
- }
- }
- }
- return false;
- }
- function printDocToString(doc, options) {
- groupModeMap = {};
- const width = options.printWidth;
- const newLine = convertEndOfLineToChars(options.endOfLine);
- let pos = 0;
- const cmds = [[rootIndent(), MODE_BREAK, doc]];
- const out = [];
- let shouldRemeasure = false;
- let lineSuffix = [];
- while (cmds.length > 0) {
- const [ind, mode, doc2] = cmds.pop();
- if (typeof doc2 === "string") {
- const formatted = newLine !== "\n" ? doc2.replace(/\n/g, newLine) : doc2;
- out.push(formatted);
- pos += getStringWidth(formatted);
- } else if (isConcat(doc2)) {
- const parts = getDocParts(doc2);
- for (let i = parts.length - 1; i >= 0; i--) {
- cmds.push([ind, mode, parts[i]]);
- }
- } else {
- switch (doc2.type) {
- case "cursor":
- out.push(cursor.placeholder);
- break;
- case "indent":
- cmds.push([makeIndent(ind, options), mode, doc2.contents]);
- break;
- case "align":
- cmds.push([makeAlign(ind, doc2.n, options), mode, doc2.contents]);
- break;
- case "trim":
- pos -= trim(out);
- break;
- case "group":
- switch (mode) {
- case MODE_FLAT:
- if (!shouldRemeasure) {
- cmds.push([ind, doc2.break ? MODE_BREAK : MODE_FLAT, doc2.contents]);
- break;
- }
- case MODE_BREAK: {
- shouldRemeasure = false;
- const next = [ind, MODE_FLAT, doc2.contents];
- const rem = width - pos;
- const hasLineSuffix = lineSuffix.length > 0;
- if (!doc2.break && fits(next, cmds, rem, options, hasLineSuffix)) {
- cmds.push(next);
- } else {
- if (doc2.expandedStates) {
- const mostExpanded = getLast(doc2.expandedStates);
- if (doc2.break) {
- cmds.push([ind, MODE_BREAK, mostExpanded]);
- break;
- } else {
- for (let i = 1; i < doc2.expandedStates.length + 1; i++) {
- if (i >= doc2.expandedStates.length) {
- cmds.push([ind, MODE_BREAK, mostExpanded]);
- break;
- } else {
- const state = doc2.expandedStates[i];
- const cmd = [ind, MODE_FLAT, state];
- if (fits(cmd, cmds, rem, options, hasLineSuffix)) {
- cmds.push(cmd);
- break;
- }
- }
- }
- }
- } else {
- cmds.push([ind, MODE_BREAK, doc2.contents]);
- }
- }
- break;
- }
- }
- if (doc2.id) {
- groupModeMap[doc2.id] = getLast(cmds)[1];
- }
- break;
- case "fill": {
- const rem = width - pos;
- const {
- parts
- } = doc2;
- if (parts.length === 0) {
- break;
- }
- const [content, whitespace] = parts;
- const contentFlatCmd = [ind, MODE_FLAT, content];
- const contentBreakCmd = [ind, MODE_BREAK, content];
- const contentFits = fits(contentFlatCmd, [], rem, options, lineSuffix.length > 0, true);
- if (parts.length === 1) {
- if (contentFits) {
- cmds.push(contentFlatCmd);
- } else {
- cmds.push(contentBreakCmd);
- }
- break;
- }
- const whitespaceFlatCmd = [ind, MODE_FLAT, whitespace];
- const whitespaceBreakCmd = [ind, MODE_BREAK, whitespace];
- if (parts.length === 2) {
- if (contentFits) {
- cmds.push(whitespaceFlatCmd, contentFlatCmd);
- } else {
- cmds.push(whitespaceBreakCmd, contentBreakCmd);
- }
- break;
- }
- parts.splice(0, 2);
- const remainingCmd = [ind, mode, fill(parts)];
- const secondContent = parts[0];
- const firstAndSecondContentFlatCmd = [ind, MODE_FLAT, [content, whitespace, secondContent]];
- const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, options, lineSuffix.length > 0, true);
- if (firstAndSecondContentFits) {
- cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd);
- } else if (contentFits) {
- cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd);
- } else {
- cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd);
- }
- break;
- }
- case "if-break":
- case "indent-if-break": {
- const groupMode = doc2.groupId ? groupModeMap[doc2.groupId] : mode;
- if (groupMode === MODE_BREAK) {
- const breakContents = doc2.type === "if-break" ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents);
- if (breakContents) {
- cmds.push([ind, mode, breakContents]);
- }
- }
- if (groupMode === MODE_FLAT) {
- const flatContents = doc2.type === "if-break" ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents;
- if (flatContents) {
- cmds.push([ind, mode, flatContents]);
- }
- }
- break;
- }
- case "line-suffix":
- lineSuffix.push([ind, mode, doc2.contents]);
- break;
- case "line-suffix-boundary":
- if (lineSuffix.length > 0) {
- cmds.push([ind, mode, {
- type: "line",
- hard: true
- }]);
- }
- break;
- case "line":
- switch (mode) {
- case MODE_FLAT:
- if (!doc2.hard) {
- if (!doc2.soft) {
- out.push(" ");
- pos += 1;
- }
- break;
- } else {
- shouldRemeasure = true;
- }
- case MODE_BREAK:
- if (lineSuffix.length > 0) {
- cmds.push([ind, mode, doc2], ...lineSuffix.reverse());
- lineSuffix = [];
- break;
- }
- if (doc2.literal) {
- if (ind.root) {
- out.push(newLine, ind.root.value);
- pos = ind.root.length;
- } else {
- out.push(newLine);
- pos = 0;
- }
- } else {
- pos -= trim(out);
- out.push(newLine + ind.value);
- pos = ind.length;
- }
- break;
- }
- break;
- case "label":
- cmds.push([ind, mode, doc2.contents]);
- break;
- default:
- }
- }
- if (cmds.length === 0 && lineSuffix.length > 0) {
- cmds.push(...lineSuffix.reverse());
- lineSuffix = [];
- }
- }
- const cursorPlaceholderIndex = out.indexOf(cursor.placeholder);
- if (cursorPlaceholderIndex !== -1) {
- const otherCursorPlaceholderIndex = out.indexOf(cursor.placeholder, cursorPlaceholderIndex + 1);
- const beforeCursor = out.slice(0, cursorPlaceholderIndex).join("");
- const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join("");
- const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join("");
- return {
- formatted: beforeCursor + aroundCursor + afterCursor,
- cursorNodeStart: beforeCursor.length,
- cursorNodeText: aroundCursor
- };
- }
- return {
- formatted: out.join("")
- };
- }
- module2.exports = {
- printDocToString
- };
- }
- });
- var require_doc_debug = __commonJS2({
- "src/document/doc-debug.js"(exports2, module2) {
- "use strict";
- init_define_process();
- var {
- isConcat,
- getDocParts
- } = require_doc_utils();
- function flattenDoc(doc) {
- if (!doc) {
- return "";
- }
- if (isConcat(doc)) {
- const res = [];
- for (const part of getDocParts(doc)) {
- if (isConcat(part)) {
- res.push(...flattenDoc(part).parts);
- } else {
- const flattened = flattenDoc(part);
- if (flattened !== "") {
- res.push(flattened);
- }
- }
- }
- return {
- type: "concat",
- parts: res
- };
- }
- if (doc.type === "if-break") {
- return Object.assign(Object.assign({}, doc), {}, {
- breakContents: flattenDoc(doc.breakContents),
- flatContents: flattenDoc(doc.flatContents)
- });
- }
- if (doc.type === "group") {
- return Object.assign(Object.assign({}, doc), {}, {
- contents: flattenDoc(doc.contents),
- expandedStates: doc.expandedStates && doc.expandedStates.map(flattenDoc)
- });
- }
- if (doc.type === "fill") {
- return {
- type: "fill",
- parts: doc.parts.map(flattenDoc)
- };
- }
- if (doc.contents) {
- return Object.assign(Object.assign({}, doc), {}, {
- contents: flattenDoc(doc.contents)
- });
- }
- return doc;
- }
- function printDocToDebug(doc) {
- const printedSymbols = /* @__PURE__ */ Object.create(null);
- const usedKeysForSymbols = /* @__PURE__ */ new Set();
- return printDoc(flattenDoc(doc));
- function printDoc(doc2, index, parentParts) {
- if (typeof doc2 === "string") {
- return JSON.stringify(doc2);
- }
- if (isConcat(doc2)) {
- const printed = getDocParts(doc2).map(printDoc).filter(Boolean);
- return printed.length === 1 ? printed[0] : "[".concat(printed.join(", "), "]");
- }
- if (doc2.type === "line") {
- const withBreakParent = Array.isArray(parentParts) && parentParts[index + 1] && parentParts[index + 1].type === "break-parent";
- if (doc2.literal) {
- return withBreakParent ? "literalline" : "literallineWithoutBreakParent";
- }
- if (doc2.hard) {
- return withBreakParent ? "hardline" : "hardlineWithoutBreakParent";
- }
- if (doc2.soft) {
- return "softline";
- }
- return "line";
- }
- if (doc2.type === "break-parent") {
- const afterHardline = Array.isArray(parentParts) && parentParts[index - 1] && parentParts[index - 1].type === "line" && parentParts[index - 1].hard;
- return afterHardline ? void 0 : "breakParent";
- }
- if (doc2.type === "trim") {
- return "trim";
- }
- if (doc2.type === "indent") {
- return "indent(" + printDoc(doc2.contents) + ")";
- }
- if (doc2.type === "align") {
- return doc2.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + printDoc(doc2.contents) + ")" : doc2.n < 0 ? "dedent(" + printDoc(doc2.contents) + ")" : doc2.n.type === "root" ? "markAsRoot(" + printDoc(doc2.contents) + ")" : "align(" + JSON.stringify(doc2.n) + ", " + printDoc(doc2.contents) + ")";
- }
- if (doc2.type === "if-break") {
- return "ifBreak(" + printDoc(doc2.breakContents) + (doc2.flatContents ? ", " + printDoc(doc2.flatContents) : "") + (doc2.groupId ? (!doc2.flatContents ? ', ""' : "") + ", { groupId: ".concat(printGroupId(doc2.groupId), " }") : "") + ")";
- }
- if (doc2.type === "indent-if-break") {
- const optionsParts = [];
- if (doc2.negate) {
- optionsParts.push("negate: true");
- }
- if (doc2.groupId) {
- optionsParts.push("groupId: ".concat(printGroupId(doc2.groupId)));
- }
- const options = optionsParts.length > 0 ? ", { ".concat(optionsParts.join(", "), " }") : "";
- return "indentIfBreak(".concat(printDoc(doc2.contents)).concat(options, ")");
- }
- if (doc2.type === "group") {
- const optionsParts = [];
- if (doc2.break && doc2.break !== "propagated") {
- optionsParts.push("shouldBreak: true");
- }
- if (doc2.id) {
- optionsParts.push("id: ".concat(printGroupId(doc2.id)));
- }
- const options = optionsParts.length > 0 ? ", { ".concat(optionsParts.join(", "), " }") : "";
- if (doc2.expandedStates) {
- return "conditionalGroup([".concat(doc2.expandedStates.map((part) => printDoc(part)).join(","), "]").concat(options, ")");
- }
- return "group(".concat(printDoc(doc2.contents)).concat(options, ")");
- }
- if (doc2.type === "fill") {
- return "fill([".concat(doc2.parts.map((part) => printDoc(part)).join(", "), "])");
- }
- if (doc2.type === "line-suffix") {
- return "lineSuffix(" + printDoc(doc2.contents) + ")";
- }
- if (doc2.type === "line-suffix-boundary") {
- return "lineSuffixBoundary";
- }
- if (doc2.type === "label") {
- return "label(".concat(JSON.stringify(doc2.label), ", ").concat(printDoc(doc2.contents), ")");
- }
- throw new Error("Unknown doc type " + doc2.type);
- }
- function printGroupId(id) {
- if (typeof id !== "symbol") {
- return JSON.stringify(String(id));
- }
- if (id in printedSymbols) {
- return printedSymbols[id];
- }
- const prefix = String(id).slice(7, -1) || "symbol";
- for (let counter = 0; ; counter++) {
- const key = prefix + (counter > 0 ? " #".concat(counter) : "");
- if (!usedKeysForSymbols.has(key)) {
- usedKeysForSymbols.add(key);
- return printedSymbols[id] = "Symbol.for(".concat(JSON.stringify(key), ")");
- }
- }
- }
- }
- module2.exports = {
- printDocToDebug
- };
- }
- });
- init_define_process();
- module.exports = {
- builders: require_doc_builders(),
- printer: require_doc_printer(),
- utils: require_doc_utils(),
- debug: require_doc_debug()
- };
- }
- });
- return require_doc_js_umd();
-});
\ No newline at end of file
diff --git a/node_modules/prettier/esm/parser-angular.mjs b/node_modules/prettier/esm/parser-angular.mjs
deleted file mode 100644
index 5673171..0000000
--- a/node_modules/prettier/esm/parser-angular.mjs
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";var De=Object.defineProperty,on=Object.getOwnPropertyDescriptor,ze=Object.getOwnPropertyNames,cn=Object.prototype.hasOwnProperty,Y=(e,t)=>function(){return e&&(t=(0,e[ze(e)[0]])(e=0)),t},W=(e,t)=>function(){return t||(0,e[ze(e)[0]])((t={exports:{}}).exports,t),t.exports},He=(e,t)=>{for(var n in t)De(e,n,{get:t[n],enumerable:!0})},un=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ze(t))!cn.call(e,s)&&s!==n&&De(e,s,{get:()=>t[s],enumerable:!(r=on(t,s))||r.enumerable});return e},Ne=e=>un(De({},"__esModule",{value:!0}),e),L=Y({""(){}}),ln=W({"src/utils/is-non-empty-array.js"(e,t){"use strict";L();function n(r){return Array.isArray(r)&&r.length>0}t.exports=n}}),hn=W({"src/language-js/loc.js"(e,t){"use strict";L();var n=ln();function r(l,P){let{ignoreDecorators:p}=P||{};if(!p){let x=l.declaration&&l.declaration.decorators||l.decorators;if(n(x))return r(x[0])}return l.range?l.range[0]:l.start}function s(l){return l.range?l.range[1]:l.end}function a(l,P){let p=r(l);return Number.isInteger(p)&&p===r(P)}function i(l,P){let p=s(l);return Number.isInteger(p)&&p===s(P)}function h(l,P){return a(l,P)&&i(l,P)}t.exports={locStart:r,locEnd:s,hasSameLocStart:a,hasSameLoc:h}}}),pn=W({"node_modules/angular-estree-parser/node_modules/lines-and-columns/build/index.js"(e){"use strict";L(),e.__esModule=!0,e.LinesAndColumns=void 0;var t=`
-`,n="\r",r=function(){function s(a){this.string=a;for(var i=[0],h=0;hthis.string.length)return null;for(var i=0,h=this.offsets;h[i+1]<=a;)i++;var l=a-h[i];return{line:i,column:l}},s.prototype.indexForLocation=function(a){var i=a.line,h=a.column;return i<0||i>=this.offsets.length||h<0||h>this.lengthOfLine(i)?null:this.offsets[i]+h},s.prototype.lengthOfLine=function(a){var i=this.offsets[a],h=a===this.offsets.length-1?this.string.length:this.offsets[a+1];return h-i},s}();e.LinesAndColumns=r,e.default=r}}),dn=W({"node_modules/angular-estree-parser/lib/context.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.Context=void 0;var t=pn(),n=class{constructor(s){this.text=s,this.locator=new r(this.text)}};e.Context=n;var r=class{constructor(s){this._lineAndColumn=new t.default(s)}locationForIndex(s){let{line:a,column:i}=this._lineAndColumn.locationForIndex(s);return{line:a+1,column:i}}}}}),Xe={};He(Xe,{AST:()=>k,ASTWithName:()=>G,ASTWithSource:()=>V,AbsoluteSourceSpan:()=>U,AstMemoryEfficientTransformer:()=>Pt,AstTransformer:()=>wt,Binary:()=>K,BindingPipe:()=>fe,BoundElementProperty:()=>_t,Chain:()=>oe,Conditional:()=>ce,EmptyExpr:()=>M,ExpressionBinding:()=>Ye,FunctionCall:()=>Pe,ImplicitReceiver:()=>Oe,Interpolation:()=>me,KeyedRead:()=>he,KeyedWrite:()=>de,LiteralArray:()=>ge,LiteralMap:()=>ve,LiteralPrimitive:()=>B,MethodCall:()=>ye,NonNullAssert:()=>Se,ParseSpan:()=>q,ParsedEvent:()=>Et,ParsedProperty:()=>Ct,ParsedPropertyType:()=>se,ParsedVariable:()=>At,ParserError:()=>ae,PrefixNot:()=>xe,PropertyRead:()=>re,PropertyWrite:()=>ue,Quote:()=>be,RecursiveAstVisitor:()=>Ze,SafeKeyedRead:()=>pe,SafeMethodCall:()=>we,SafePropertyRead:()=>le,ThisReceiver:()=>Je,Unary:()=>F,VariableBinding:()=>Le});var ae,q,k,G,be,M,Oe,Je,oe,ce,re,ue,le,he,pe,de,fe,B,ge,ve,me,K,F,xe,Se,ye,we,Pe,U,V,Le,Ye,Ze,wt,Pt,Ct,se,Et,At,_t,et=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/ast.js"(){L(),ae=class{constructor(e,t,n,r){this.input=t,this.errLocation=n,this.ctxLocation=r,this.message="Parser Error: ".concat(e," ").concat(n," [").concat(t,"] in ").concat(r)}},q=class{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new U(e+this.start,e+this.end)}},k=class{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},G=class extends k{constructor(e,t,n){super(e,t),this.nameSpan=n}},be=class extends k{constructor(e,t,n,r,s){super(e,t),this.prefix=n,this.uninterpretedExpression=r,this.location=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitQuote(this,t)}toString(){return"Quote"}},M=class extends k{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null}},Oe=class extends k{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitImplicitReceiver(this,t)}},Je=class extends Oe{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;var n;return(n=e.visitThisReceiver)===null||n===void 0?void 0:n.call(e,this,t)}},oe=class extends k{constructor(e,t,n){super(e,t),this.expressions=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitChain(this,t)}},ce=class extends k{constructor(e,t,n,r,s){super(e,t),this.condition=n,this.trueExp=r,this.falseExp=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitConditional(this,t)}},re=class extends G{constructor(e,t,n,r,s){super(e,t,n),this.receiver=r,this.name=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPropertyRead(this,t)}},ue=class extends G{constructor(e,t,n,r,s,a){super(e,t,n),this.receiver=r,this.name=s,this.value=a}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPropertyWrite(this,t)}},le=class extends G{constructor(e,t,n,r,s){super(e,t,n),this.receiver=r,this.name=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafePropertyRead(this,t)}},he=class extends k{constructor(e,t,n,r){super(e,t),this.receiver=n,this.key=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitKeyedRead(this,t)}},pe=class extends k{constructor(e,t,n,r){super(e,t),this.receiver=n,this.key=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafeKeyedRead(this,t)}},de=class extends k{constructor(e,t,n,r,s){super(e,t),this.receiver=n,this.key=r,this.value=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitKeyedWrite(this,t)}},fe=class extends G{constructor(e,t,n,r,s,a){super(e,t,a),this.exp=n,this.name=r,this.args=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPipe(this,t)}},B=class extends k{constructor(e,t,n){super(e,t),this.value=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralPrimitive(this,t)}},ge=class extends k{constructor(e,t,n){super(e,t),this.expressions=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralArray(this,t)}},ve=class extends k{constructor(e,t,n,r){super(e,t),this.keys=n,this.values=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralMap(this,t)}},me=class extends k{constructor(e,t,n,r){super(e,t),this.strings=n,this.expressions=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitInterpolation(this,t)}},K=class extends k{constructor(e,t,n,r,s){super(e,t),this.operation=n,this.left=r,this.right=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitBinary(this,t)}},F=class extends K{constructor(e,t,n,r,s,a,i){super(e,t,s,a,i),this.operator=n,this.expr=r}static createMinus(e,t,n){return new F(e,t,"-",n,"-",new B(e,t,0),n)}static createPlus(e,t,n){return new F(e,t,"+",n,"-",n,new B(e,t,0))}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitUnary!==void 0?e.visitUnary(this,t):e.visitBinary(this,t)}},xe=class extends k{constructor(e,t,n){super(e,t),this.expression=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPrefixNot(this,t)}},Se=class extends k{constructor(e,t,n){super(e,t),this.expression=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitNonNullAssert(this,t)}},ye=class extends G{constructor(e,t,n,r,s,a,i){super(e,t,n),this.receiver=r,this.name=s,this.args=a,this.argumentSpan=i}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitMethodCall(this,t)}},we=class extends G{constructor(e,t,n,r,s,a,i){super(e,t,n),this.receiver=r,this.name=s,this.args=a,this.argumentSpan=i}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafeMethodCall(this,t)}},Pe=class extends k{constructor(e,t,n,r){super(e,t),this.target=n,this.args=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitFunctionCall(this,t)}},U=class{constructor(e,t){this.start=e,this.end=t}},V=class extends k{constructor(e,t,n,r,s){super(new q(0,t===null?0:t.length),new U(r,t===null?r:r+t.length)),this.ast=e,this.source=t,this.location=n,this.errors=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return"".concat(this.source," in ").concat(this.location)}},Le=class{constructor(e,t,n){this.sourceSpan=e,this.key=t,this.value=n}},Ye=class{constructor(e,t,n){this.sourceSpan=e,this.key=t,this.value=n}},Ze=class{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitFunctionCall(e,t){e.target&&this.visit(e.target,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitQuote(e,t){}visitAll(e,t){for(let n of e)this.visit(n,t)}},wt=class{visitImplicitReceiver(e,t){return e}visitThisReceiver(e,t){return e}visitInterpolation(e,t){return new me(e.span,e.sourceSpan,e.strings,this.visitAll(e.expressions))}visitLiteralPrimitive(e,t){return new B(e.span,e.sourceSpan,e.value)}visitPropertyRead(e,t){return new re(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitPropertyWrite(e,t){return new ue(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,e.value.visit(this))}visitSafePropertyRead(e,t){return new le(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitMethodCall(e,t){return new ye(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitSafeMethodCall(e,t){return new we(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitFunctionCall(e,t){return new Pe(e.span,e.sourceSpan,e.target.visit(this),this.visitAll(e.args))}visitLiteralArray(e,t){return new ge(e.span,e.sourceSpan,this.visitAll(e.expressions))}visitLiteralMap(e,t){return new ve(e.span,e.sourceSpan,e.keys,this.visitAll(e.values))}visitUnary(e,t){switch(e.operator){case"+":return F.createPlus(e.span,e.sourceSpan,e.expr.visit(this));case"-":return F.createMinus(e.span,e.sourceSpan,e.expr.visit(this));default:throw new Error("Unknown unary operator ".concat(e.operator))}}visitBinary(e,t){return new K(e.span,e.sourceSpan,e.operation,e.left.visit(this),e.right.visit(this))}visitPrefixNot(e,t){return new xe(e.span,e.sourceSpan,e.expression.visit(this))}visitNonNullAssert(e,t){return new Se(e.span,e.sourceSpan,e.expression.visit(this))}visitConditional(e,t){return new ce(e.span,e.sourceSpan,e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))}visitPipe(e,t){return new fe(e.span,e.sourceSpan,e.exp.visit(this),e.name,this.visitAll(e.args),e.nameSpan)}visitKeyedRead(e,t){return new he(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this))}visitKeyedWrite(e,t){return new de(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this),e.value.visit(this))}visitAll(e){let t=[];for(let n=0;n=tt&&e<=nt||e==pt}function Q(e){return Mt<=e&&e<=$t}function gn(e){return e>=lt&&e<=ht||e>=ct&&e<=ut}function vt(e){return e===it||e===rt||e===Ht}var Ce,tt,It,Ot,kt,Nt,nt,bt,rt,Lt,st,Rt,$e,it,Ee,z,Tt,at,ee,ot,H,Re,X,te,Bt,ie,Kt,je,Mt,$t,ct,jt,ut,Ae,Ft,ne,Ut,Be,lt,Wt,Gt,Vt,qt,Qt,Dt,zt,ht,Te,Fe,_e,pt,Ht,Xt=Y({"node_modules/@angular/compiler/esm2015/src/chars.js"(){L(),Ce=0,tt=9,It=10,Ot=11,kt=12,Nt=13,nt=32,bt=33,rt=34,Lt=35,st=36,Rt=37,$e=38,it=39,Ee=40,z=41,Tt=42,at=43,ee=44,ot=45,H=46,Re=47,X=58,te=59,Bt=60,ie=61,Kt=62,je=63,Mt=48,$t=57,ct=65,jt=69,ut=90,Ae=91,Ft=92,ne=93,Ut=94,Be=95,lt=97,Wt=101,Gt=102,Vt=110,qt=114,Qt=116,Dt=117,zt=118,ht=122,Te=123,Fe=124,_e=125,pt=160,Ht=96}}),Jt={};He(Jt,{EOF:()=>Ie,Lexer:()=>Zt,Token:()=>$,TokenType:()=>S,isIdentifier:()=>Yt});function mt(e,t,n){return new $(e,t,S.Character,n,String.fromCharCode(n))}function vn(e,t,n){return new $(e,t,S.Identifier,0,n)}function mn(e,t,n){return new $(e,t,S.PrivateIdentifier,0,n)}function xn(e,t,n){return new $(e,t,S.Keyword,0,n)}function Ke(e,t,n){return new $(e,t,S.Operator,0,n)}function Sn(e,t,n){return new $(e,t,S.String,0,n)}function yn(e,t,n){return new $(e,t,S.Number,n,"")}function wn(e,t,n){return new $(e,t,S.Error,0,n)}function Ue(e){return lt<=e&&e<=ht||ct<=e&&e<=ut||e==Be||e==st}function Yt(e){if(e.length==0)return!1;let t=new Ge(e);if(!Ue(t.peek))return!1;for(t.advance();t.peek!==Ce;){if(!We(t.peek))return!1;t.advance()}return!0}function We(e){return gn(e)||Q(e)||e==Be||e==st}function Pn(e){return e==Wt||e==jt}function Cn(e){return e==ot||e==at}function En(e){switch(e){case Vt:return It;case Gt:return kt;case qt:return Nt;case Qt:return tt;case zt:return Ot;default:return e}}function An(e){let t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}var S,xt,Zt,$,Ie,Ge,en=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/lexer.js"(){L(),Xt(),function(e){e[e.Character=0]="Character",e[e.Identifier=1]="Identifier",e[e.PrivateIdentifier=2]="PrivateIdentifier",e[e.Keyword=3]="Keyword",e[e.String=4]="String",e[e.Operator=5]="Operator",e[e.Number=6]="Number",e[e.Error=7]="Error"}(S||(S={})),xt=["var","let","as","null","undefined","true","false","if","else","this"],Zt=class{tokenize(e){let t=new Ge(e),n=[],r=t.scanToken();for(;r!=null;)n.push(r),r=t.scanToken();return n}},$=class{constructor(e,t,n,r,s){this.index=e,this.end=t,this.type=n,this.numValue=r,this.strValue=s}isCharacter(e){return this.type==S.Character&&this.numValue==e}isNumber(){return this.type==S.Number}isString(){return this.type==S.String}isOperator(e){return this.type==S.Operator&&this.strValue==e}isIdentifier(){return this.type==S.Identifier}isPrivateIdentifier(){return this.type==S.PrivateIdentifier}isKeyword(){return this.type==S.Keyword}isKeywordLet(){return this.type==S.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==S.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==S.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==S.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==S.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==S.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==S.Keyword&&this.strValue=="this"}isError(){return this.type==S.Error}toNumber(){return this.type==S.Number?this.numValue:-1}toString(){switch(this.type){case S.Character:case S.Identifier:case S.Keyword:case S.Operator:case S.PrivateIdentifier:case S.String:case S.Error:return this.strValue;case S.Number:return this.numValue.toString();default:return null}}},Ie=new $(-1,-1,S.Character,0,""),Ge=class{constructor(e){this.input=e,this.peek=0,this.index=-1,this.length=e.length,this.advance()}advance(){this.peek=++this.index>=this.length?Ce:this.input.charCodeAt(this.index)}scanToken(){let e=this.input,t=this.length,n=this.peek,r=this.index;for(;n<=nt;)if(++r>=t){n=Ce;break}else n=e.charCodeAt(r);if(this.peek=n,this.index=r,r>=t)return null;if(Ue(n))return this.scanIdentifier();if(Q(n))return this.scanNumber(r);let s=r;switch(n){case H:return this.advance(),Q(this.peek)?this.scanNumber(s):mt(s,this.index,H);case Ee:case z:case Te:case _e:case Ae:case ne:case ee:case X:case te:return this.scanCharacter(s,n);case it:case rt:return this.scanString();case Lt:return this.scanPrivateIdentifier();case at:case ot:case Tt:case Re:case Rt:case Ut:return this.scanOperator(s,String.fromCharCode(n));case je:return this.scanQuestion(s);case Bt:case Kt:return this.scanComplexOperator(s,String.fromCharCode(n),ie,"=");case bt:case ie:return this.scanComplexOperator(s,String.fromCharCode(n),ie,"=",ie,"=");case $e:return this.scanComplexOperator(s,"&",$e,"&");case Fe:return this.scanComplexOperator(s,"|",Fe,"|");case pt:for(;fn(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error("Unexpected character [".concat(String.fromCharCode(n),"]"),0)}scanCharacter(e,t){return this.advance(),mt(e,this.index,t)}scanOperator(e,t){return this.advance(),Ke(e,this.index,t)}scanComplexOperator(e,t,n,r,s,a){this.advance();let i=t;return this.peek==n&&(this.advance(),i+=r),s!=null&&this.peek==s&&(this.advance(),i+=a),Ke(e,this.index,i)}scanIdentifier(){let e=this.index;for(this.advance();We(this.peek);)this.advance();let t=this.input.substring(e,this.index);return xt.indexOf(t)>-1?xn(e,this.index,t):vn(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!Ue(this.peek))return this.error("Invalid character [#]",-1);for(;We(this.peek);)this.advance();let t=this.input.substring(e,this.index);return mn(e,this.index,t)}scanNumber(e){let t=this.index===e,n=!1;for(this.advance();;){if(!Q(this.peek))if(this.peek===Be){if(!Q(this.input.charCodeAt(this.index-1))||!Q(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);n=!0}else if(this.peek===H)t=!1;else if(Pn(this.peek)){if(this.advance(),Cn(this.peek)&&this.advance(),!Q(this.peek))return this.error("Invalid exponent",-1);t=!1}else break;this.advance()}let r=this.input.substring(e,this.index);n&&(r=r.replace(/_/g,""));let s=t?An(r):parseFloat(r);return yn(e,this.index,s)}scanString(){let e=this.index,t=this.peek;this.advance();let n="",r=this.index,s=this.input;for(;this.peek!=t;)if(this.peek==Ft){n+=s.substring(r,this.index),this.advance();let i;if(this.peek=this.peek,this.peek==Dt){let h=s.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(h))i=parseInt(h,16);else return this.error("Invalid unicode escape [\\u".concat(h,"]"),0);for(let l=0;l<5;l++)this.advance()}else i=En(this.peek),this.advance();n+=String.fromCharCode(i),r=this.index}else{if(this.peek==Ce)return this.error("Unterminated quote",0);this.advance()}let a=s.substring(r,this.index);return this.advance(),Sn(e,this.index,n+a)}scanQuestion(e){this.advance();let t="?";return(this.peek===je||this.peek===H)&&(t+=this.peek===H?".":"?",this.advance()),Ke(e,this.index,t)}error(e,t){let n=this.index+t;return wn(n,this.index,"Lexer Error: ".concat(e," at column ").concat(n," in expression [").concat(this.input,"]"))}}}});function _n(e,t){if(t!=null&&!(Array.isArray(t)&&t.length==2))throw new Error("Expected '".concat(e,"' to be an array, [start, end]."));if(t!=null){let n=t[0],r=t[1];tn.forEach(s=>{if(s.test(n)||s.test(r))throw new Error("['".concat(n,"', '").concat(r,"'] contains unusable interpolation symbol."))})}}var tn,In=Y({"node_modules/@angular/compiler/esm2015/src/assertions.js"(){L(),tn=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]}}),Me,J,On=Y({"node_modules/@angular/compiler/esm2015/src/ml_parser/interpolation_config.js"(){L(),In(),Me=class{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(_n("interpolation",e),new Me(e[0],e[1])):J}},J=new Me("{{","}}")}}),nn={};He(nn,{IvyParser:()=>rn,Parser:()=>Qe,SplitInterpolation:()=>Ve,TemplateBindingParseResult:()=>qe,_ParseAST:()=>D});var Ve,qe,Qe,rn,Z,D,St,yt,kn=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/parser.js"(){L(),Xt(),On(),et(),en(),Ve=class{constructor(e,t,n){this.strings=e,this.expressions=t,this.offsets=n}},qe=class{constructor(e,t,n){this.templateBindings=e,this.warnings=t,this.errors=n}},Qe=class{constructor(e){this._lexer=e,this.errors=[],this.simpleExpressionChecker=St}parseAction(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J;this._checkNoInterpolation(e,t,r);let s=this._stripComments(e),a=this._lexer.tokenize(this._stripComments(e)),i=new D(e,t,n,a,s.length,!0,this.errors,e.length-s.length).parseChain();return new V(i,e,t,n,this.errors)}parseBinding(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,s=this._parseBindingAst(e,t,n,r);return new V(s,e,t,n,this.errors)}checkSimpleExpression(e){let t=new this.simpleExpressionChecker;return e.visit(t),t.errors}parseSimpleBinding(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,s=this._parseBindingAst(e,t,n,r),a=this.checkSimpleExpression(s);return a.length>0&&this._reportError("Host binding expression cannot contain ".concat(a.join(" ")),e,t),new V(s,e,t,n,this.errors)}_reportError(e,t,n,r){this.errors.push(new ae(e,t,n,r))}_parseBindingAst(e,t,n,r){let s=this._parseQuote(e,t,n);if(s!=null)return s;this._checkNoInterpolation(e,t,r);let a=this._stripComments(e),i=this._lexer.tokenize(a);return new D(e,t,n,i,a.length,!1,this.errors,e.length-a.length).parseChain()}_parseQuote(e,t,n){if(e==null)return null;let r=e.indexOf(":");if(r==-1)return null;let s=e.substring(0,r).trim();if(!Yt(s))return null;let a=e.substring(r+1),i=new q(0,e.length);return new be(i,i.toAbsolute(n),s,a,t)}parseTemplateBindings(e,t,n,r,s){let a=this._lexer.tokenize(t);return new D(t,n,s,a,t.length,!1,this.errors,0).parseTemplateBindings({source:e,span:new U(r,r+e.length)})}parseInterpolation(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,{strings:s,expressions:a,offsets:i}=this.splitInterpolation(e,t,r);if(a.length===0)return null;let h=[];for(let l=0;ll.text),h,e,t,n)}parseInterpolationExpression(e,t,n){let r=this._stripComments(e),s=this._lexer.tokenize(r),a=new D(e,t,n,s,r.length,!1,this.errors,0).parseChain(),i=["",""];return this.createInterpolationAst(i,[a],e,t,n)}createInterpolationAst(e,t,n,r,s){let a=new q(0,n.length),i=new me(a,a.toAbsolute(s),e,t);return new V(i,n,r,s,this.errors)}splitInterpolation(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:J,r=[],s=[],a=[],i=0,h=!1,l=!1,{start:P,end:p}=n;for(;i-1)break;a>-1&&i>-1&&this._reportError("Got interpolation (".concat(r).concat(s,") where expression was expected"),e,"at column ".concat(a," in"),t)}_getInterpolationEndIndex(e,t,n){for(let r of this._forEachUnquotedChar(e,n)){if(e.startsWith(t,r))return r;if(e.startsWith("//",r))return e.indexOf(t,r)}return-1}*_forEachUnquotedChar(e,t){let n=null,r=0;for(let s=t;s=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let n=this.currentEndIndex;if(t!==void 0&&t>this.currentEndIndex&&(n=t),e>n){let r=n;n=e,e=r}return new q(e,n)}sourceSpan(e,t){let n="".concat(e,"@").concat(this.inputIndex,":").concat(t);return this.sourceSpanCache.has(n)||this.sourceSpanCache.set(n,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(n)}advance(){this.index++}withContext(e,t){this.context|=e;let n=t();return this.context^=e,n}consumeOptionalCharacter(e){return this.next.isCharacter(e)?(this.advance(),!0):!1}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error("Missing expected ".concat(String.fromCharCode(e)))}consumeOptionalOperator(e){return this.next.isOperator(e)?(this.advance(),!0):!1}expectOperator(e){this.consumeOptionalOperator(e)||this.error("Missing expected operator ".concat(e))}prettyPrintToken(e){return e===Ie?"end of input":"token ".concat(e)}expectIdentifierOrKeyword(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error("Unexpected ".concat(this.prettyPrintToken(e),", expected identifier or keyword")),null):(this.advance(),e.toString())}expectIdentifierOrKeywordOrString(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()&&!e.isString()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error("Unexpected ".concat(this.prettyPrintToken(e),", expected identifier, keyword, or string")),""):(this.advance(),e.toString())}parseChain(){let e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();let r=this.parseAdditive();t=new K(this.span(e),this.sourceSpan(e),n,t,r);continue}break}return t}parseAdditive(){let e=this.inputIndex,t=this.parseMultiplicative();for(;this.next.type==S.Operator;){let n=this.next.strValue;switch(n){case"+":case"-":this.advance();let r=this.parseMultiplicative();t=new K(this.span(e),this.sourceSpan(e),n,t,r);continue}break}return t}parseMultiplicative(){let e=this.inputIndex,t=this.parsePrefix();for(;this.next.type==S.Operator;){let n=this.next.strValue;switch(n){case"*":case"%":case"/":this.advance();let r=this.parsePrefix();t=new K(this.span(e),this.sourceSpan(e),n,t,r);continue}break}return t}parsePrefix(){if(this.next.type==S.Operator){let e=this.inputIndex,t=this.next.strValue,n;switch(t){case"+":return this.advance(),n=this.parsePrefix(),F.createPlus(this.span(e),this.sourceSpan(e),n);case"-":return this.advance(),n=this.parsePrefix(),F.createMinus(this.span(e),this.sourceSpan(e),n);case"!":return this.advance(),n=this.parsePrefix(),new xe(this.span(e),this.sourceSpan(e),n)}}return this.parseCallChain()}parseCallChain(){let e=this.inputIndex,t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(H))t=this.parseAccessMemberOrMethodCall(t,e,!1);else if(this.consumeOptionalOperator("?."))t=this.consumeOptionalCharacter(Ae)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMemberOrMethodCall(t,e,!0);else if(this.consumeOptionalCharacter(Ae))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(Ee)){this.rparensExpected++;let n=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(z),t=new Pe(this.span(e),this.sourceSpan(e),t,n)}else if(this.consumeOptionalOperator("!"))t=new Se(this.span(e),this.sourceSpan(e),t);else return t}parsePrimary(){let e=this.inputIndex;if(this.consumeOptionalCharacter(Ee)){this.rparensExpected++;let t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(z),t}else{if(this.next.isKeywordNull())return this.advance(),new B(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new B(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new B(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new B(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Je(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(Ae)){this.rbracketsExpected++;let t=this.parseExpressionList(ne);return this.rbracketsExpected--,this.expectCharacter(ne),new ge(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter(Te))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new Oe(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new B(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new B(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new M(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error("Unexpected end of expression: ".concat(this.input)),new M(this.span(e),this.sourceSpan(e))):(this.error("Unexpected token ".concat(this.next)),new M(this.span(e),this.sourceSpan(e)))}}}parseExpressionList(e){let t=[];do if(!this.next.isCharacter(e))t.push(this.parsePipe());else break;while(this.consumeOptionalCharacter(ee));return t}parseLiteralMap(){let e=[],t=[],n=this.inputIndex;if(this.expectCharacter(Te),!this.consumeOptionalCharacter(_e)){this.rbracesExpected++;do{let r=this.inputIndex,s=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();if(e.push({key:a,quoted:s}),s)this.expectCharacter(X),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(X))t.push(this.parsePipe());else{let i=this.span(r),h=this.sourceSpan(r);t.push(new re(i,h,h,new Oe(i,h),a))}}while(this.consumeOptionalCharacter(ee));this.rbracesExpected--,this.expectCharacter(_e)}return new ve(this.span(n),this.sourceSpan(n),e,t)}parseAccessMemberOrMethodCall(e,t,n){let r=this.inputIndex,s=this.withContext(Z.Writable,()=>{var i;let h=(i=this.expectIdentifierOrKeyword())!==null&&i!==void 0?i:"";return h.length===0&&this.error("Expected identifier for property access",e.span.end),h}),a=this.sourceSpan(r);if(this.consumeOptionalCharacter(Ee)){let i=this.inputIndex;this.rparensExpected++;let h=this.parseCallArguments(),l=this.span(i,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(z),this.rparensExpected--;let P=this.span(t),p=this.sourceSpan(t);return n?new we(P,p,a,e,s,h,l):new ye(P,p,a,e,s,h,l)}else{if(n)return this.consumeOptionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new M(this.span(t),this.sourceSpan(t))):new le(this.span(t),this.sourceSpan(t),a,e,s);if(this.consumeOptionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new M(this.span(t),this.sourceSpan(t));let i=this.parseConditional();return new ue(this.span(t),this.sourceSpan(t),a,e,s,i)}else return new re(this.span(t),this.sourceSpan(t),a,e,s)}}parseCallArguments(){if(this.next.isCharacter(z))return[];let e=[];do e.push(this.parsePipe());while(this.consumeOptionalCharacter(ee));return e}expectTemplateBindingKey(){let e="",t=!1,n=this.currentAbsoluteOffset;do e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-");while(t);return{source:e,span:new U(n,n+e.length)}}parseTemplateBindings(e){let t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index{this.rbracketsExpected++;let r=this.parsePipe();if(r instanceof M&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(ne),this.consumeOptionalOperator("="))if(n)this.error("The '?.' operator cannot be used in the assignment");else{let s=this.parseConditional();return new de(this.span(t),this.sourceSpan(t),e,r,s)}else return n?new pe(this.span(t),this.sourceSpan(t),e,r):new he(this.span(t),this.sourceSpan(t),e,r);return new M(this.span(t),this.sourceSpan(t))})}parseDirectiveKeywordBindings(e){let t=[];this.consumeOptionalCharacter(X);let n=this.getDirectiveBoundTarget(),r=this.currentAbsoluteOffset,s=this.parseAsBinding(e);s||(this.consumeStatementTerminator(),r=this.currentAbsoluteOffset);let a=new U(e.span.start,r);return t.push(new Ye(a,e,n)),s&&t.push(s),t}getDirectiveBoundTarget(){if(this.next===Ie||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:n}=e.span,r=this.input.substring(t,n);return new V(e,r,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();let t=this.expectTemplateBindingKey();this.consumeStatementTerminator();let n=new U(e.span.start,this.currentAbsoluteOffset);return new Le(n,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;let e=this.currentAbsoluteOffset;this.advance();let t=this.expectTemplateBindingKey(),n=null;this.consumeOptionalOperator("=")&&(n=this.expectTemplateBindingKey()),this.consumeStatementTerminator();let r=new U(e,this.currentAbsoluteOffset);return new Le(r,t,n)}consumeStatementTerminator(){this.consumeOptionalCharacter(te)||this.consumeOptionalCharacter(ee)}error(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.errors.push(new ae(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return e==null&&(e=this.index),en.visit(this,t))}visitChain(e,t){}visitQuote(e,t){}visitSafeKeyedRead(e,t){}},yt=class extends Ze{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push("pipes")}}}}),dt=W({"node_modules/angular-estree-parser/lib/utils.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.getLast=e.toLowerCamelCase=e.findBackChar=e.findFrontChar=e.fitSpans=e.getNgType=e.parseNgInterpolation=e.parseNgTemplateBindings=e.parseNgAction=e.parseNgSimpleBinding=e.parseNgBinding=e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=void 0;var t=(et(),Ne(Xe)),n=(en(),Ne(Jt)),r=(kn(),Ne(nn)),s="angular-estree-parser";e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX="NgEstreeParser";var a=0,i=[s,a];function h(){return new r.Parser(new n.Lexer)}function l(o,d){let y=h(),{astInput:C,comments:E}=T(o,y),{ast:I,errors:j}=d(C,y);return R(j),{ast:I,comments:E}}function P(o){return l(o,(d,y)=>y.parseBinding(d,...i))}e.parseNgBinding=P;function p(o){return l(o,(d,y)=>y.parseSimpleBinding(d,...i))}e.parseNgSimpleBinding=p;function x(o){return l(o,(d,y)=>y.parseAction(d,...i))}e.parseNgAction=x;function A(o){let d=h(),{templateBindings:y,errors:C}=d.parseTemplateBindings(e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,o,s,a,a);return R(C),y}e.parseNgTemplateBindings=A;function b(o){let d=h(),{astInput:y,comments:C}=T(o,d),E="{{",I="}}",{ast:j,errors:an}=d.parseInterpolation(E+y+I,...i);R(an);let ft=j.expressions[0],gt=new Set;return _(ft,ke=>{gt.has(ke)||(ke.start-=E.length,ke.end-=E.length,gt.add(ke))}),{ast:ft,comments:C}}e.parseNgInterpolation=b;function _(o,d){if(!(!o||typeof o!="object")){if(Array.isArray(o))return o.forEach(y=>_(y,d));for(let y of Object.keys(o)){let C=o[y];y==="span"?d(C):_(C,d)}}}function R(o){if(o.length!==0){let[{message:d}]=o;throw new SyntaxError(d.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function T(o,d){let y=d._commentStart(o);return y===null?{astInput:o,comments:[]}:{astInput:o.slice(0,y),comments:[{type:"Comment",value:o.slice(y+2),span:{start:y,end:o.length}}]}}function O(o){return t.Unary&&o instanceof t.Unary?"Unary":o instanceof t.Binary?"Binary":o instanceof t.BindingPipe?"BindingPipe":o instanceof t.Chain?"Chain":o instanceof t.Conditional?"Conditional":o instanceof t.EmptyExpr?"EmptyExpr":o instanceof t.FunctionCall?"FunctionCall":o instanceof t.ImplicitReceiver?"ImplicitReceiver":o instanceof t.KeyedRead?"KeyedRead":o instanceof t.KeyedWrite?"KeyedWrite":o instanceof t.LiteralArray?"LiteralArray":o instanceof t.LiteralMap?"LiteralMap":o instanceof t.LiteralPrimitive?"LiteralPrimitive":o instanceof t.MethodCall?"MethodCall":o instanceof t.NonNullAssert?"NonNullAssert":o instanceof t.PrefixNot?"PrefixNot":o instanceof t.PropertyRead?"PropertyRead":o instanceof t.PropertyWrite?"PropertyWrite":o instanceof t.Quote?"Quote":o instanceof t.SafeMethodCall?"SafeMethodCall":o instanceof t.SafePropertyRead?"SafePropertyRead":o.type}e.getNgType=O;function N(o,d){let{start:y,end:C}=o,E=y,I=C;for(;I!==E&&/\s/.test(d[I-1]);)I--;for(;E!==I&&/\s/.test(d[E]);)E++;return{start:E,end:I}}function c(o,d){let{start:y,end:C}=o,E=y,I=C;for(;I!==d.length&&/\s/.test(d[I]);)I++;for(;E!==0&&/\s/.test(d[E-1]);)E--;return{start:E,end:I}}function g(o,d){return d[o.start-1]==="("&&d[o.end]===")"?{start:o.start-1,end:o.end+1}:o}function u(o,d,y){let C=0,E={start:o.start,end:o.end};for(;;){let I=c(E,d),j=g(I,d);if(I.start===j.start&&I.end===j.end)break;E.start=j.start,E.end=j.end,C++}return{hasParens:(y?C-1:C)!==0,outerSpan:N(y?{start:E.start+1,end:E.end-1}:E,d),innerSpan:N(o,d)}}e.fitSpans=u;function v(o,d,y){let C=d;for(;!o.test(y[C]);)if(--C<0)throw new Error("Cannot find front char ".concat(o," from index ").concat(d," in ").concat(JSON.stringify(y)));return C}e.findFrontChar=v;function m(o,d,y){let C=d;for(;!o.test(y[C]);)if(++C>=y.length)throw new Error("Cannot find back char ".concat(o," from index ").concat(d," in ").concat(JSON.stringify(y)));return C}e.findBackChar=m;function f(o){return o.slice(0,1).toLowerCase()+o.slice(1)}e.toLowerCamelCase=f;function w(o){return o.length===0?void 0:o[o.length-1]}e.getLast=w}}),sn=W({"node_modules/angular-estree-parser/lib/transform.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.transformSpan=e.transform=void 0;var t=dt(),n=function(s,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=t.getNgType(s);switch(h){case"Unary":{let{operator:c,expr:g}=s,u=l(g);return p("UnaryExpression",{prefix:!0,argument:u,operator:c},s.span,{hasParentParens:i})}case"Binary":{let{left:c,operation:g,right:u}=s,v=u.span.start===u.span.end,m=c.span.start===c.span.end;if(v||m){let o=c.span.start===c.span.end?l(u):l(c);return p("UnaryExpression",{prefix:!0,argument:o,operator:v?"+":"-"},{start:s.span.start,end:N(o)},{hasParentParens:i})}let f=l(c),w=l(u);return p(g==="&&"||g==="||"?"LogicalExpression":"BinaryExpression",{left:f,right:w,operator:g},{start:O(f),end:N(w)},{hasParentParens:i})}case"BindingPipe":{let{exp:c,name:g,args:u}=s,v=l(c),m=b(/\S/,b(/\|/,N(v))+1),f=p("Identifier",{name:g},{start:m,end:m+g.length}),w=u.map(l);return p("NGPipeExpression",{left:v,right:f,arguments:w},{start:O(v),end:N(w.length===0?f:t.getLast(w))},{hasParentParens:i})}case"Chain":{let{expressions:c}=s;return p("NGChainedExpression",{expressions:c.map(l)},s.span,{hasParentParens:i})}case"Comment":{let{value:c}=s;return p("CommentLine",{value:c},s.span,{processSpan:!1})}case"Conditional":{let{condition:c,trueExp:g,falseExp:u}=s,v=l(c),m=l(g),f=l(u);return p("ConditionalExpression",{test:v,consequent:m,alternate:f},{start:O(v),end:N(f)},{hasParentParens:i})}case"EmptyExpr":return p("NGEmptyExpression",{},s.span,{hasParentParens:i});case"FunctionCall":{let{target:c,args:g}=s,u=g.length===1?[P(g[0])]:g.map(l),v=l(c);return p("CallExpression",{callee:v,arguments:u},{start:O(v),end:s.span.end},{hasParentParens:i})}case"ImplicitReceiver":return p("ThisExpression",{},s.span,{hasParentParens:i});case"KeyedRead":{let{key:c}=s,g=Object.prototype.hasOwnProperty.call(s,"receiver")?s.receiver:s.obj,u=l(c);return x(g,u,{computed:!0,optional:!1},{end:s.span.end,hasParentParens:i})}case"LiteralArray":{let{expressions:c}=s;return p("ArrayExpression",{elements:c.map(l)},s.span,{hasParentParens:i})}case"LiteralMap":{let{keys:c,values:g}=s,u=g.map(m=>l(m)),v=c.map((m,f)=>{let{key:w,quoted:o}=m,d=u[f],y=b(/\S/,f===0?s.span.start+1:b(/,/,N(u[f-1]))+1),C=A(/\S/,A(/:/,O(d)-1)-1)+1,E={start:y,end:C},I=o?p("StringLiteral",{value:w},E):p("Identifier",{name:w},E),j=I.end3&&arguments[3]!==void 0?arguments[3]:{},f=Object.assign(Object.assign({type:c},r(u,a,v,m)),g);switch(c){case"Identifier":{let w=f;w.loc.identifierName=w.name;break}case"NumericLiteral":{let w=f;w.extra=Object.assign(Object.assign({},w.extra),{raw:a.text.slice(w.start,w.end),rawValue:w.value});break}case"StringLiteral":{let w=f;w.extra=Object.assign(Object.assign({},w.extra),{raw:a.text.slice(w.start,w.end),rawValue:w.value});break}}return f}function x(c,g,u){let{end:v=N(g),hasParentParens:m=!1}=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(_(c)||c.span.start===g.start)return g;let f=l(c),w=R(f);return p(u.optional||w?"OptionalMemberExpression":"MemberExpression",Object.assign({object:f,property:g,computed:u.computed},u.optional?{optional:!0}:w?{optional:!1}:null),{start:O(f),end:v},{hasParentParens:m})}function A(c,g){return t.findFrontChar(c,g,a.text)}function b(c,g){return t.findBackChar(c,g,a.text)}function _(c){return c.span.start>=c.span.end||/^\s+$/.test(a.text.slice(c.span.start,c.span.end))}function R(c){return(c.type==="OptionalCallExpression"||c.type==="OptionalMemberExpression")&&!T(c)}function T(c){return c.extra&&c.extra.parenthesized}function O(c){return T(c)?c.extra.parenStart:c.start}function N(c){return T(c)?c.extra.parenEnd:c.end}};e.transform=n;function r(s,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!i){let{start:x,end:A}=s;return{start:x,end:A,loc:{start:a.locator.locationForIndex(x),end:a.locator.locationForIndex(A)}}}let{outerSpan:l,innerSpan:P,hasParens:p}=t.fitSpans(s,a.text,h);return Object.assign({start:P.start,end:P.end,loc:{start:a.locator.locationForIndex(P.start),end:a.locator.locationForIndex(P.end)}},p&&{extra:{parenthesized:!0,parenStart:l.start,parenEnd:l.end}})}e.transformSpan=r}}),Nn=W({"node_modules/angular-estree-parser/lib/transform-microsyntax.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.transformTemplateBindings=void 0;var t=(et(),Ne(Xe)),n=sn(),r=dt();function s(a,i){a.forEach(N);let[h]=a,{key:l}=h,P=i.text.slice(h.sourceSpan.start,h.sourceSpan.end).trim().length===0?a.slice(1):a,p=[],x=null;for(let u=0;uObject.assign(Object.assign({},d),n.transformSpan({start:d.start,end:y},i)),w=d=>Object.assign(Object.assign({},f(d,m.end)),{alias:m}),o=p.pop();if(o.type==="NGMicrosyntaxExpression")p.push(w(o));else if(o.type==="NGMicrosyntaxKeyedExpression"){let d=w(o.expression);p.push(f(Object.assign(Object.assign({},o),{expression:d}),d.end))}else throw new Error("Unexpected type ".concat(o.type))}else p.push(A(v,u));x=v}return _("NGMicrosyntax",{body:p},p.length===0?a[0].sourceSpan:{start:p[0].start,end:p[p.length-1].end});function A(u,v){if(T(u)){let{key:m,value:f}=u;return f?v===0?_("NGMicrosyntaxExpression",{expression:b(f.ast),alias:null},f.sourceSpan):_("NGMicrosyntaxKeyedExpression",{key:_("NGMicrosyntaxKey",{name:R(m.source)},m.span),expression:_("NGMicrosyntaxExpression",{expression:b(f.ast),alias:null},f.sourceSpan)},{start:m.span.start,end:f.sourceSpan.end}):_("NGMicrosyntaxKey",{name:R(m.source)},m.span)}else{let{key:m,sourceSpan:f}=u;if(/^let\s$/.test(i.text.slice(f.start,f.start+4))){let{value:o}=u;return _("NGMicrosyntaxLet",{key:_("NGMicrosyntaxKey",{name:m.source},m.span),value:o?_("NGMicrosyntaxKey",{name:o.source},o.span):null},{start:f.start,end:o?o.span.end:m.span.end})}else{let o=g(u);return _("NGMicrosyntaxAs",{key:_("NGMicrosyntaxKey",{name:o.source},o.span),alias:_("NGMicrosyntaxKey",{name:m.source},m.span)},{start:o.span.start,end:m.span.end})}}}function b(u){return n.transform(u,i)}function _(u,v,m){let f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Object.assign(Object.assign({type:u},n.transformSpan(m,i,f)),v)}function R(u){return r.toLowerCamelCase(u.slice(l.source.length))}function T(u){return u instanceof t.ExpressionBinding}function O(u){return u instanceof t.VariableBinding}function N(u){c(u.key.span),O(u)&&u.value&&c(u.value.span)}function c(u){if(i.text[u.start]!=='"'&&i.text[u.start]!=="'")return;let v=i.text[u.start],m=!1;for(let f=u.start+1;fn.transform(N,R),O=T(b);return O.comments=_.map(T),O}function i(x){return a(x,s.parseNgBinding)}e.parseBinding=i;function h(x){return a(x,s.parseNgSimpleBinding)}e.parseSimpleBinding=h;function l(x){return a(x,s.parseNgInterpolation)}e.parseInterpolation=l;function P(x){return a(x,s.parseNgAction)}e.parseAction=P;function p(x){return r.transformTemplateBindings(s.parseNgTemplateBindings(x),new t.Context(x))}e.parseTemplateBindings=p}}),Ln=W({"src/language-js/parse/angular.js"(e,t){L();var{locStart:n,locEnd:r}=hn();function s(a){return{astFormat:"estree",parse:(h,l,P)=>{let p=bn(),x=a(h,p);return{type:"NGRoot",node:P.parser==="__ng_action"&&x.type!=="NGChainedExpression"?Object.assign(Object.assign({},x),{},{type:"NGChainedExpression",expressions:[x]}):x}},locStart:n,locEnd:r}}t.exports={parsers:{__ng_action:s((a,i)=>i.parseAction(a)),__ng_binding:s((a,i)=>i.parseBinding(a)),__ng_interpolation:s((a,i)=>i.parseInterpolation(a)),__ng_directive:s((a,i)=>i.parseTemplateBindings(a))}}}}),Rn=Ln();export{Rn as default};
diff --git a/node_modules/prettier/esm/parser-babel.mjs b/node_modules/prettier/esm/parser-babel.mjs
deleted file mode 100644
index a5892ee..0000000
--- a/node_modules/prettier/esm/parser-babel.mjs
+++ /dev/null
@@ -1,27 +0,0 @@
-"use strict";var b=(h,u)=>()=>(u||h((u={exports:{}}).exports,u),u.exports);var J=b((pf,Gr)=>{var vt=function(h){return h&&h.Math==Math&&h};Gr.exports=vt(typeof globalThis=="object"&&globalThis)||vt(typeof window=="object"&&window)||vt(typeof self=="object"&&self)||vt(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var be=b((ff,Xr)=>{Xr.exports=function(h){try{return!!h()}catch{return!0}}});var Me=b((df,Jr)=>{var Yh=be();Jr.exports=!Yh(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var St=b((mf,Yr)=>{var $h=be();Yr.exports=!$h(function(){var h=function(){}.bind();return typeof h!="function"||h.hasOwnProperty("prototype")})});var Nt=b((yf,$r)=>{var Qh=St(),wt=Function.prototype.call;$r.exports=Qh?wt.bind(wt):function(){return wt.apply(wt,arguments)}});var ti=b(ei=>{"use strict";var Qr={}.propertyIsEnumerable,Zr=Object.getOwnPropertyDescriptor,Zh=Zr&&!Qr.call({1:2},1);ei.f=Zh?function(u){var p=Zr(this,u);return!!p&&p.enumerable}:Qr});var ds=b((gf,si)=>{si.exports=function(h,u){return{enumerable:!(h&1),configurable:!(h&2),writable:!(h&4),value:u}}});var le=b((Af,ai)=>{var ri=St(),ii=Function.prototype,el=ii.bind,ms=ii.call,tl=ri&&el.bind(ms,ms);ai.exports=ri?function(h){return h&&tl(h)}:function(h){return h&&function(){return ms.apply(h,arguments)}}});var It=b((Pf,oi)=>{var ni=le(),sl=ni({}.toString),rl=ni("".slice);oi.exports=function(h){return rl(sl(h),8,-1)}});var li=b((Tf,hi)=>{var il=J(),al=le(),nl=be(),ol=It(),ys=il.Object,hl=al("".split);hi.exports=nl(function(){return!ys("z").propertyIsEnumerable(0)})?function(h){return ol(h)=="String"?hl(h,""):ys(h)}:ys});var xs=b((Ef,ui)=>{var ll=J(),ul=ll.TypeError;ui.exports=function(h){if(h==null)throw ul("Can't call method on "+h);return h}});var kt=b((bf,ci)=>{var cl=li(),pl=xs();ci.exports=function(h){return cl(pl(h))}});var ue=b((Cf,pi)=>{pi.exports=function(h){return typeof h=="function"}});var Re=b((vf,fi)=>{var fl=ue();fi.exports=function(h){return typeof h=="object"?h!==null:fl(h)}});var rt=b((Sf,di)=>{var gs=J(),dl=ue(),ml=function(h){return dl(h)?h:void 0};di.exports=function(h,u){return arguments.length<2?ml(gs[h]):gs[h]&&gs[h][u]}});var yi=b((wf,mi)=>{var yl=le();mi.exports=yl({}.isPrototypeOf)});var gi=b((Nf,xi)=>{var xl=rt();xi.exports=xl("navigator","userAgent")||""});var vi=b((If,Ci)=>{var bi=J(),As=gi(),Ai=bi.process,Pi=bi.Deno,Ti=Ai&&Ai.versions||Pi&&Pi.version,Ei=Ti&&Ti.v8,fe,Dt;Ei&&(fe=Ei.split("."),Dt=fe[0]>0&&fe[0]<4?1:+(fe[0]+fe[1]));!Dt&&As&&(fe=As.match(/Edge\/(\d+)/),(!fe||fe[1]>=74)&&(fe=As.match(/Chrome\/(\d+)/),fe&&(Dt=+fe[1])));Ci.exports=Dt});var Ps=b((kf,wi)=>{var Si=vi(),gl=be();wi.exports=!!Object.getOwnPropertySymbols&&!gl(function(){var h=Symbol();return!String(h)||!(Object(h)instanceof Symbol)||!Symbol.sham&&Si&&Si<41})});var Ts=b((Df,Ni)=>{var Al=Ps();Ni.exports=Al&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Es=b((Ff,Ii)=>{var Pl=J(),Tl=rt(),El=ue(),bl=yi(),Cl=Ts(),vl=Pl.Object;Ii.exports=Cl?function(h){return typeof h=="symbol"}:function(h){var u=Tl("Symbol");return El(u)&&bl(u.prototype,vl(h))}});var Di=b((Lf,ki)=>{var Sl=J(),wl=Sl.String;ki.exports=function(h){try{return wl(h)}catch{return"Object"}}});var Ft=b((Of,Fi)=>{var Nl=J(),Il=ue(),kl=Di(),Dl=Nl.TypeError;Fi.exports=function(h){if(Il(h))return h;throw Dl(kl(h)+" is not a function")}});var Oi=b((Bf,Li)=>{var Fl=Ft();Li.exports=function(h,u){var p=h[u];return p==null?void 0:Fl(p)}});var Mi=b((Mf,Bi)=>{var Ll=J(),bs=Nt(),Cs=ue(),vs=Re(),Ol=Ll.TypeError;Bi.exports=function(h,u){var p,d;if(u==="string"&&Cs(p=h.toString)&&!vs(d=bs(p,h))||Cs(p=h.valueOf)&&!vs(d=bs(p,h))||u!=="string"&&Cs(p=h.toString)&&!vs(d=bs(p,h)))return d;throw Ol("Can't convert object to primitive value")}});var ji=b((Rf,Ri)=>{Ri.exports=!1});var Lt=b((jf,Ui)=>{var qi=J(),Bl=Object.defineProperty;Ui.exports=function(h,u){try{Bl(qi,h,{value:u,configurable:!0,writable:!0})}catch{qi[h]=u}return u}});var Ot=b((qf,zi)=>{var Ml=J(),Rl=Lt(),_i="__core-js_shared__",jl=Ml[_i]||Rl(_i,{});zi.exports=jl});var Ss=b((Uf,Vi)=>{var ql=ji(),Ki=Ot();(Vi.exports=function(h,u){return Ki[h]||(Ki[h]=u!==void 0?u:{})})("versions",[]).push({version:"3.22.2",mode:ql?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.22.2/LICENSE",source:"https://github.com/zloirock/core-js"})});var ws=b((_f,Hi)=>{var Ul=J(),_l=xs(),zl=Ul.Object;Hi.exports=function(h){return zl(_l(h))}});var Ie=b((zf,Wi)=>{var Kl=le(),Vl=ws(),Hl=Kl({}.hasOwnProperty);Wi.exports=Object.hasOwn||function(u,p){return Hl(Vl(u),p)}});var Ns=b((Kf,Gi)=>{var Wl=le(),Gl=0,Xl=Math.random(),Jl=Wl(1 .toString);Gi.exports=function(h){return"Symbol("+(h===void 0?"":h)+")_"+Jl(++Gl+Xl,36)}});var it=b((Vf,Qi)=>{var Yl=J(),$l=Ss(),Xi=Ie(),Ql=Ns(),Ji=Ps(),$i=Ts(),Xe=$l("wks"),je=Yl.Symbol,Yi=je&&je.for,Zl=$i?je:je&&je.withoutSetter||Ql;Qi.exports=function(h){if(!Xi(Xe,h)||!(Ji||typeof Xe[h]=="string")){var u="Symbol."+h;Ji&&Xi(je,h)?Xe[h]=je[h]:$i&&Yi?Xe[h]=Yi(u):Xe[h]=Zl(u)}return Xe[h]}});var sa=b((Hf,ta)=>{var eu=J(),tu=Nt(),Zi=Re(),ea=Es(),su=Oi(),ru=Mi(),iu=it(),au=eu.TypeError,nu=iu("toPrimitive");ta.exports=function(h,u){if(!Zi(h)||ea(h))return h;var p=su(h,nu),d;if(p){if(u===void 0&&(u="default"),d=tu(p,h,u),!Zi(d)||ea(d))return d;throw au("Can't convert object to primitive value")}return u===void 0&&(u="number"),ru(h,u)}});var Is=b((Wf,ra)=>{var ou=sa(),hu=Es();ra.exports=function(h){var u=ou(h,"string");return hu(u)?u:u+""}});var na=b((Gf,aa)=>{var lu=J(),ia=Re(),ks=lu.document,uu=ia(ks)&&ia(ks.createElement);aa.exports=function(h){return uu?ks.createElement(h):{}}});var Ds=b((Xf,oa)=>{var cu=Me(),pu=be(),fu=na();oa.exports=!cu&&!pu(function(){return Object.defineProperty(fu("div"),"a",{get:function(){return 7}}).a!=7})});var Fs=b(la=>{var du=Me(),mu=Nt(),yu=ti(),xu=ds(),gu=kt(),Au=Is(),Pu=Ie(),Tu=Ds(),ha=Object.getOwnPropertyDescriptor;la.f=du?ha:function(u,p){if(u=gu(u),p=Au(p),Tu)try{return ha(u,p)}catch{}if(Pu(u,p))return xu(!mu(yu.f,u,p),u[p])}});var ca=b((Yf,ua)=>{var Eu=Me(),bu=be();ua.exports=Eu&&bu(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Ls=b(($f,fa)=>{var pa=J(),Cu=Re(),vu=pa.String,Su=pa.TypeError;fa.exports=function(h){if(Cu(h))return h;throw Su(vu(h)+" is not an object")}});var js=b(ma=>{var wu=J(),Nu=Me(),Iu=Ds(),ku=ca(),Bt=Ls(),da=Is(),Du=wu.TypeError,Os=Object.defineProperty,Fu=Object.getOwnPropertyDescriptor,Bs="enumerable",Ms="configurable",Rs="writable";ma.f=Nu?ku?function(u,p,d){if(Bt(u),p=da(p),Bt(d),typeof u=="function"&&p==="prototype"&&"value"in d&&Rs in d&&!d[Rs]){var m=Fu(u,p);m&&m[Rs]&&(u[p]=d.value,d={configurable:Ms in d?d[Ms]:m[Ms],enumerable:Bs in d?d[Bs]:m[Bs],writable:!1})}return Os(u,p,d)}:Os:function(u,p,d){if(Bt(u),p=da(p),Bt(d),Iu)try{return Os(u,p,d)}catch{}if("get"in d||"set"in d)throw Du("Accessors not supported");return"value"in d&&(u[p]=d.value),u}});var Mt=b((Zf,ya)=>{var Lu=Me(),Ou=js(),Bu=ds();ya.exports=Lu?function(h,u,p){return Ou.f(h,u,Bu(1,p))}:function(h,u,p){return h[u]=p,h}});var Rt=b((ed,xa)=>{var Mu=le(),Ru=ue(),qs=Ot(),ju=Mu(Function.toString);Ru(qs.inspectSource)||(qs.inspectSource=function(h){return ju(h)});xa.exports=qs.inspectSource});var Pa=b((td,Aa)=>{var qu=J(),Uu=ue(),_u=Rt(),ga=qu.WeakMap;Aa.exports=Uu(ga)&&/native code/.test(_u(ga))});var ba=b((sd,Ea)=>{var zu=Ss(),Ku=Ns(),Ta=zu("keys");Ea.exports=function(h){return Ta[h]||(Ta[h]=Ku(h))}});var Us=b((rd,Ca)=>{Ca.exports={}});var ka=b((id,Ia)=>{var Vu=Pa(),Na=J(),_s=le(),Hu=Re(),Wu=Mt(),zs=Ie(),Ks=Ot(),Gu=ba(),Xu=Us(),va="Object already initialized",Hs=Na.TypeError,Ju=Na.WeakMap,jt,at,qt,Yu=function(h){return qt(h)?at(h):jt(h,{})},$u=function(h){return function(u){var p;if(!Hu(u)||(p=at(u)).type!==h)throw Hs("Incompatible receiver, "+h+" required");return p}};Vu||Ks.state?(ke=Ks.state||(Ks.state=new Ju),Sa=_s(ke.get),Vs=_s(ke.has),wa=_s(ke.set),jt=function(h,u){if(Vs(ke,h))throw new Hs(va);return u.facade=h,wa(ke,h,u),u},at=function(h){return Sa(ke,h)||{}},qt=function(h){return Vs(ke,h)}):(qe=Gu("state"),Xu[qe]=!0,jt=function(h,u){if(zs(h,qe))throw new Hs(va);return u.facade=h,Wu(h,qe,u),u},at=function(h){return zs(h,qe)?h[qe]:{}},qt=function(h){return zs(h,qe)});var ke,Sa,Vs,wa,qe;Ia.exports={set:jt,get:at,has:qt,enforce:Yu,getterFor:$u}});var La=b((ad,Fa)=>{var Ws=Me(),Qu=Ie(),Da=Function.prototype,Zu=Ws&&Object.getOwnPropertyDescriptor,Gs=Qu(Da,"name"),ec=Gs&&function(){}.name==="something",tc=Gs&&(!Ws||Ws&&Zu(Da,"name").configurable);Fa.exports={EXISTS:Gs,PROPER:ec,CONFIGURABLE:tc}});var ja=b((nd,Ra)=>{var sc=J(),Oa=ue(),rc=Ie(),Ba=Mt(),ic=Lt(),ac=Rt(),Ma=ka(),nc=La().CONFIGURABLE,oc=Ma.get,hc=Ma.enforce,lc=String(String).split("String");(Ra.exports=function(h,u,p,d){var m=d?!!d.unsafe:!1,x=d?!!d.enumerable:!1,A=d?!!d.noTargetGet:!1,g=d&&d.name!==void 0?d.name:u,E;if(Oa(p)&&(String(g).slice(0,7)==="Symbol("&&(g="["+String(g).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!rc(p,"name")||nc&&p.name!==g)&&Ba(p,"name",g),E=hc(p),E.source||(E.source=lc.join(typeof g=="string"?g:""))),h===sc){x?h[u]=p:ic(u,p);return}else m?!A&&h[u]&&(x=!0):delete h[u];x?h[u]=p:Ba(h,u,p)})(Function.prototype,"toString",function(){return Oa(this)&&oc(this).source||ac(this)})});var Xs=b((od,qa)=>{var uc=Math.ceil,cc=Math.floor;qa.exports=function(h){var u=+h;return u!==u||u===0?0:(u>0?cc:uc)(u)}});var _a=b((hd,Ua)=>{var pc=Xs(),fc=Math.max,dc=Math.min;Ua.exports=function(h,u){var p=pc(h);return p<0?fc(p+u,0):dc(p,u)}});var Ka=b((ld,za)=>{var mc=Xs(),yc=Math.min;za.exports=function(h){return h>0?yc(mc(h),9007199254740991):0}});var Ut=b((ud,Va)=>{var xc=Ka();Va.exports=function(h){return xc(h.length)}});var Ga=b((cd,Wa)=>{var gc=kt(),Ac=_a(),Pc=Ut(),Ha=function(h){return function(u,p,d){var m=gc(u),x=Pc(m),A=Ac(d,x),g;if(h&&p!=p){for(;x>A;)if(g=m[A++],g!=g)return!0}else for(;x>A;A++)if((h||A in m)&&m[A]===p)return h||A||0;return!h&&-1}};Wa.exports={includes:Ha(!0),indexOf:Ha(!1)}});var Ya=b((pd,Ja)=>{var Tc=le(),Js=Ie(),Ec=kt(),bc=Ga().indexOf,Cc=Us(),Xa=Tc([].push);Ja.exports=function(h,u){var p=Ec(h),d=0,m=[],x;for(x in p)!Js(Cc,x)&&Js(p,x)&&Xa(m,x);for(;u.length>d;)Js(p,x=u[d++])&&(~bc(m,x)||Xa(m,x));return m}});var Qa=b((fd,$a)=>{$a.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var en=b(Za=>{var vc=Ya(),Sc=Qa(),wc=Sc.concat("length","prototype");Za.f=Object.getOwnPropertyNames||function(u){return vc(u,wc)}});var sn=b(tn=>{tn.f=Object.getOwnPropertySymbols});var an=b((yd,rn)=>{var Nc=rt(),Ic=le(),kc=en(),Dc=sn(),Fc=Ls(),Lc=Ic([].concat);rn.exports=Nc("Reflect","ownKeys")||function(u){var p=kc.f(Fc(u)),d=Dc.f;return d?Lc(p,d(u)):p}});var hn=b((xd,on)=>{var nn=Ie(),Oc=an(),Bc=Fs(),Mc=js();on.exports=function(h,u,p){for(var d=Oc(u),m=Mc.f,x=Bc.f,A=0;A{var Rc=be(),jc=ue(),qc=/#|\.prototype\./,nt=function(h,u){var p=_c[Uc(h)];return p==Kc?!0:p==zc?!1:jc(u)?Rc(u):!!u},Uc=nt.normalize=function(h){return String(h).replace(qc,".").toLowerCase()},_c=nt.data={},zc=nt.NATIVE="N",Kc=nt.POLYFILL="P";ln.exports=nt});var $s=b((Ad,cn)=>{var Ys=J(),Vc=Fs().f,Hc=Mt(),Wc=ja(),Gc=Lt(),Xc=hn(),Jc=un();cn.exports=function(h,u){var p=h.target,d=h.global,m=h.stat,x,A,g,E,F,D;if(d?A=Ys:m?A=Ys[p]||Gc(p,{}):A=(Ys[p]||{}).prototype,A)for(g in u){if(F=u[g],h.noTargetGet?(D=Vc(A,g),E=D&&D.value):E=A[g],x=Jc(d?g:p+(m?".":"#")+g,h.forced),!x&&E!==void 0){if(typeof F==typeof E)continue;Xc(F,E)}(h.sham||E&&E.sham)&&Hc(F,"sham",!0),Wc(A,g,F,h)}}});var pn=b(()=>{var Yc=$s(),$c=J();Yc({global:!0},{globalThis:$c})});var Qs=b((Ed,fn)=>{var Qc=It();fn.exports=Array.isArray||function(u){return Qc(u)=="Array"}});var yn=b((bd,mn)=>{var dn=le(),Zc=Ft(),ep=St(),tp=dn(dn.bind);mn.exports=function(h,u){return Zc(h),u===void 0?h:ep?tp(h,u):function(){return h.apply(u,arguments)}}});var An=b((Cd,gn)=>{"use strict";var sp=J(),rp=Qs(),ip=Ut(),ap=yn(),np=sp.TypeError,xn=function(h,u,p,d,m,x,A,g){for(var E=m,F=0,D=A?ap(A,g):!1,C,M;F0&&rp(C))M=ip(C),E=xn(h,u,C,M,E,x-1)-1;else{if(E>=9007199254740991)throw np("Exceed the acceptable array length");h[E]=C}E++}F++}return E};gn.exports=xn});var En=b((vd,Tn)=>{var op=it(),hp=op("toStringTag"),Pn={};Pn[hp]="z";Tn.exports=String(Pn)==="[object z]"});var Cn=b((Sd,bn)=>{var lp=J(),up=En(),cp=ue(),_t=It(),pp=it(),fp=pp("toStringTag"),dp=lp.Object,mp=_t(function(){return arguments}())=="Arguments",yp=function(h,u){try{return h[u]}catch{}};bn.exports=up?_t:function(h){var u,p,d;return h===void 0?"Undefined":h===null?"Null":typeof(p=yp(u=dp(h),fp))=="string"?p:mp?_t(u):(d=_t(u))=="Object"&&cp(u.callee)?"Arguments":d}});var kn=b((wd,In)=>{var xp=le(),gp=be(),vn=ue(),Ap=Cn(),Pp=rt(),Tp=Rt(),Sn=function(){},Ep=[],wn=Pp("Reflect","construct"),Zs=/^\s*(?:class|function)\b/,bp=xp(Zs.exec),Cp=!Zs.exec(Sn),ot=function(u){if(!vn(u))return!1;try{return wn(Sn,Ep,u),!0}catch{return!1}},Nn=function(u){if(!vn(u))return!1;switch(Ap(u)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Cp||!!bp(Zs,Tp(u))}catch{return!0}};Nn.sham=!0;In.exports=!wn||gp(function(){var h;return ot(ot.call)||!ot(Object)||!ot(function(){h=!0})||h})?Nn:ot});var On=b((Nd,Ln)=>{var vp=J(),Dn=Qs(),Sp=kn(),wp=Re(),Np=it(),Ip=Np("species"),Fn=vp.Array;Ln.exports=function(h){var u;return Dn(h)&&(u=h.constructor,Sp(u)&&(u===Fn||Dn(u.prototype))?u=void 0:wp(u)&&(u=u[Ip],u===null&&(u=void 0))),u===void 0?Fn:u}});var Mn=b((Id,Bn)=>{var kp=On();Bn.exports=function(h,u){return new(kp(h))(u===0?0:u)}});pn();var Dp=$s(),Fp=An(),Lp=Ft(),Op=ws(),Bp=Ut(),Mp=Mn();Dp({target:"Array",proto:!0},{flatMap:function(u){var p=Op(this),d=Bp(p),m;return Lp(u),m=Mp(p,0),m.length=Fp(m,p,p,d,0,1,u,arguments.length>1?arguments[1]:void 0),m}});var Rn,jn,qn,Un,_n;function ht(h,u){return u||(u=h.slice(0)),Object.freeze(Object.defineProperties(h,{raw:{value:Object.freeze(u)}}))}var rr=Object.defineProperty,Rp=Object.getOwnPropertyDescriptor,ir=Object.getOwnPropertyNames,jp=Object.prototype.hasOwnProperty,zn=(h,u)=>function(){return h&&(u=(0,h[ir(h)[0]])(h=0)),u},W=(h,u)=>function(){return u||(0,h[ir(h)[0]])((u={exports:{}}).exports,u),u.exports},qp=(h,u)=>{for(var p in u)rr(h,p,{get:u[p],enumerable:!0})},Up=(h,u,p,d)=>{if(u&&typeof u=="object"||typeof u=="function")for(let m of ir(u))!jp.call(h,m)&&m!==p&&rr(h,m,{get:()=>u[m],enumerable:!(d=Rp(u,m))||d.enumerable});return h},_p=h=>Up(rr({},"__esModule",{value:!0}),h),H=zn({""(){}}),zp=W({"src/utils/try-combinations.js"(h,u){"use strict";H();function p(){let d;for(var m=arguments.length,x=new Array(m),A=0;A{let C=D&&D.backwards;if(F===!1)return!1;let{length:M}=E,L=F;for(;L>=0&&Lsr,arch:()=>Gp,cpus:()=>Qn,default:()=>ro,endianness:()=>Wn,freemem:()=>Yn,getNetworkInterfaces:()=>so,hostname:()=>Gn,loadavg:()=>Xn,networkInterfaces:()=>to,platform:()=>Xp,release:()=>eo,tmpDir:()=>er,tmpdir:()=>tr,totalmem:()=>$n,type:()=>Zn,uptime:()=>Jn});function Wn(){if(typeof zt>"u"){var h=new ArrayBuffer(2),u=new Uint8Array(h),p=new Uint16Array(h);if(u[0]=1,u[1]=2,p[0]===258)zt="BE";else if(p[0]===513)zt="LE";else throw new Error("unable to figure out endianess")}return zt}function Gn(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Xn(){return[]}function Jn(){return 0}function Yn(){return Number.MAX_VALUE}function $n(){return Number.MAX_VALUE}function Qn(){return[]}function Zn(){return"Browser"}function eo(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function to(){}function so(){}function Gp(){return"javascript"}function Xp(){return"browser"}function er(){return"/tmp"}var zt,tr,sr,ro,Jp=zn({"node-modules-polyfills:os"(){H(),tr=er,sr=`
-`,ro={EOL:sr,tmpdir:tr,tmpDir:er,networkInterfaces:to,getNetworkInterfaces:so,release:eo,type:Zn,cpus:Qn,totalmem:$n,freemem:Yn,uptime:Jn,loadavg:Xn,hostname:Gn,endianness:Wn}}}),Yp=W({"node-modules-polyfills-commonjs:os"(h,u){H();var p=(Jp(),_p(Hn));if(p&&p.default){u.exports=p.default;for(let d in p)u.exports[d]=p[d]}else p&&(u.exports=p)}}),$p=W({"node_modules/detect-newline/index.js"(h,u){"use strict";H();var p=d=>{if(typeof d!="string")throw new TypeError("Expected a string");let m=d.match(/(?:\r?\n)/g)||[];if(m.length===0)return;let x=m.filter(g=>g===`\r
-`).length,A=m.length-x;return x>A?`\r
-`:`
-`};u.exports=p,u.exports.graceful=d=>typeof d=="string"&&p(d)||`
-`}}),Qp=W({"node_modules/jest-docblock/build/index.js"(h){"use strict";H(),Object.defineProperty(h,"__esModule",{value:!0}),h.extract=L,h.parse=G,h.parseWithComments=Z,h.print=B,h.strip=k;function u(){let l=Yp();return u=function(){return l},l}function p(){let l=d($p());return p=function(){return l},l}function d(l){return l&&l.__esModule?l:{default:l}}var m=/\*\/$/,x=/^\/\*\*/,A=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,g=/(^|\s+)\/\/([^\r\n]*)/g,E=/^(\r?\n)+/,F=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,D=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,C=/(\r?\n|^) *\* ?/g,M=[];function L(l){let Y=l.match(A);return Y?Y[0].trimLeft():""}function k(l){let Y=l.match(A);return Y&&Y[0]?l.substring(Y[0].length):l}function G(l){return Z(l).pragmas}function Z(l){let Y=(0,p().default)(l)||u().EOL;l=l.replace(x,"").replace(m,"").replace(C,"$1");let ie="";for(;ie!==l;)ie=l,l=l.replace(F,"".concat(Y,"$1 $2").concat(Y));l=l.replace(E,"").trimRight();let Q=Object.create(null),Ce=l.replace(D,"").replace(E,"").trimRight(),ee;for(;ee=D.exec(l);){let U=ee[2].replace(g,"");typeof Q[ee[1]]=="string"||Array.isArray(Q[ee[1]])?Q[ee[1]]=M.concat(Q[ee[1]],U):Q[ee[1]]=U}return{comments:Ce,pragmas:Q}}function B(l){let{comments:Y="",pragmas:ie={}}=l,Q=(0,p().default)(Y)||u().EOL,Ce="/**",ee=" *",U=" */",O=Object.keys(ie),P=O.map(V=>j(V,ie[V])).reduce((V,$)=>V.concat($),[]).map(V=>ee+" "+V+Q).join("");if(!Y){if(O.length===0)return"";if(O.length===1&&!Array.isArray(ie[O[0]])){let V=ie[O[0]];return"".concat(Ce," ").concat(j(O[0],V)[0]).concat(U)}}let De=Y.split(Q).map(V=>"".concat(ee," ").concat(V)).join(Q)+Q;return Ce+Q+(Y?De:"")+(Y&&O.length?ee+Q:"")+P+U}function j(l,Y){return M.concat(Y).map(ie=>"@".concat(l," ").concat(ie).trim())}}}),Zp=W({"src/common/end-of-line.js"(h,u){"use strict";H();function p(A){let g=A.indexOf("\r");return g>=0?A.charAt(g+1)===`
-`?"crlf":"cr":"lf"}function d(A){switch(A){case"cr":return"\r";case"crlf":return`\r
-`;default:return`
-`}}function m(A,g){let E;switch(g){case`
-`:E=/\n/g;break;case"\r":E=/\r/g;break;case`\r
-`:E=/\r\n/g;break;default:throw new Error('Unexpected "eol" '.concat(JSON.stringify(g),"."))}let F=A.match(E);return F?F.length:0}function x(A){return A.replace(/\r\n?/g,`
-`)}u.exports={guessEndOfLine:p,convertEndOfLineToChars:d,countEndOfLineChars:m,normalizeEndOfLine:x}}}),ef=W({"src/language-js/pragma.js"(h,u){"use strict";H();var{parseWithComments:p,strip:d,extract:m,print:x}=Qp(),{normalizeEndOfLine:A}=Zp(),g=Kn();function E(C){let M=g(C);M&&(C=C.slice(M.length+1));let L=m(C),{pragmas:k,comments:G}=p(L);return{shebang:M,text:C,pragmas:k,comments:G}}function F(C){let M=Object.keys(E(C).pragmas);return M.includes("prettier")||M.includes("format")}function D(C){let{shebang:M,text:L,pragmas:k,comments:G}=E(C),Z=d(L),B=x({pragmas:Object.assign({format:""},k),comments:G.trimStart()});return(M?"".concat(M,`
-`):"")+A(B)+(Z.startsWith(`
-`)?`
-`:`
-
-`)+Z}u.exports={hasPragma:F,insertPragma:D}}}),io=W({"src/utils/is-non-empty-array.js"(h,u){"use strict";H();function p(d){return Array.isArray(d)&&d.length>0}u.exports=p}}),ao=W({"src/language-js/loc.js"(h,u){"use strict";H();var p=io();function d(E,F){let{ignoreDecorators:D}=F||{};if(!D){let C=E.declaration&&E.declaration.decorators||E.decorators;if(p(C))return d(C[0])}return E.range?E.range[0]:E.start}function m(E){return E.range?E.range[1]:E.end}function x(E,F){let D=d(E);return Number.isInteger(D)&&D===d(F)}function A(E,F){let D=m(E);return Number.isInteger(D)&&D===m(F)}function g(E,F){return x(E,F)&&A(E,F)}u.exports={locStart:d,locEnd:m,hasSameLocStart:x,hasSameLoc:g}}}),no=W({"src/language-js/parse/utils/create-parser.js"(h,u){"use strict";H();var{hasPragma:p}=ef(),{locStart:d,locEnd:m}=ao();function x(A){return A=typeof A=="function"?{parse:A}:A,Object.assign({astFormat:"estree",hasPragma:p,locStart:d,locEnd:m},A)}u.exports=x}}),ar=W({"src/common/parser-create-error.js"(h,u){"use strict";H();function p(d,m){let x=new SyntaxError(d+" ("+m.start.line+":"+m.start.column+")");return x.loc=m,x}u.exports=p}}),oo=W({"src/language-js/parse/utils/create-babel-parse-error.js"(h,u){"use strict";H();var p=ar();function d(m){let{message:x,loc:A}=m;return p(x.replace(/ \(.*\)/,""),{start:{line:A?A.line:0,column:A?A.column+1:0}})}u.exports=d}}),tf=W({"src/language-js/utils/is-ts-keyword-type.js"(h,u){"use strict";H();function p(d){let{type:m}=d;return m.startsWith("TS")&&m.endsWith("Keyword")}u.exports=p}}),sf=W({"src/language-js/utils/is-block-comment.js"(h,u){"use strict";H();var p=new Set(["Block","CommentBlock","MultiLine"]),d=m=>p.has(m==null?void 0:m.type);u.exports=d}}),rf=W({"src/language-js/utils/is-type-cast-comment.js"(h,u){"use strict";H();var p=sf();function d(m){return p(m)&&m.value[0]==="*"&&/@type\b/.test(m.value)}u.exports=d}}),af=W({"src/utils/get-last.js"(h,u){"use strict";H();var p=d=>d[d.length-1];u.exports=p}}),ho=W({"src/language-js/parse/postprocess/visit-node.js"(h,u){"use strict";H();function p(d,m){if(Array.isArray(d)){for(let x=0;x{let L=F.get(M);return!L||!C.includes(L)}))&&d(E,"Leading decorators must be attached to a class declaration")}function x(g,E){g.kind!==167||g.modifiers&&!g.modifiers.some(C=>C.kind===126)||g.initializer&&E.value===null&&d(E,"Abstract property cannot have an initializer")}function A(g,E){let{esTreeNodeToTSNodeMap:F,tsNodeToESTreeNodeMap:D}=E.tsParseResult;p(g,C=>{let M=F.get(C);if(!M)return;let L=D.get(M);L===C&&(m(M,L,D),x(M,L))})}u.exports={throwErrorForInvalidNodes:A}}}),of=W({"src/language-js/parse/postprocess/index.js"(h,u){"use strict";H();var{locStart:p,locEnd:d}=ao(),m=tf(),x=rf(),A=af(),g=ho(),{throwErrorForInvalidNodes:E}=nf(),F=lo();function D(k,G){if(G.parser==="typescript"&&/@|abstract/.test(G.originalText)&&E(k,G),G.parser!=="typescript"&&G.parser!=="flow"&&G.parser!=="acorn"&&G.parser!=="espree"&&G.parser!=="meriyah"){let B=new Set;k=g(k,j=>{j.leadingComments&&j.leadingComments.some(x)&&B.add(p(j))}),k=g(k,j=>{if(j.type==="ParenthesizedExpression"){let{expression:l}=j;if(l.type==="TypeCastExpression")return l.range=j.range,l;let Y=p(j);if(!B.has(Y))return l.extra=Object.assign(Object.assign({},l.extra),{},{parenthesized:!0}),l}})}return k=g(k,B=>{switch(B.type){case"ChainExpression":return C(B.expression);case"LogicalExpression":{if(M(B))return L(B);break}case"VariableDeclaration":{let j=A(B.declarations);j&&j.init&&Z(B,j);break}case"TSParenthesizedType":return m(B.typeAnnotation)||B.typeAnnotation.type==="TSThisType"||(B.typeAnnotation.range=[p(B),d(B)]),B.typeAnnotation;case"TSTypeParameter":if(typeof B.name=="string"){let j=p(B);B.name={type:"Identifier",name:B.name,range:[j,j+B.name.length]}}break;case"ObjectExpression":if(G.parser==="typescript"){let j=B.properties.find(l=>l.type==="Property"&&l.value.type==="TSEmptyBodyFunctionExpression");j&&F(j.value,"Unexpected token.")}break;case"SequenceExpression":{let j=A(B.expressions);B.range=[p(B),Math.min(d(j),d(B))];break}case"TopicReference":G.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:j}=B;if(G.parser==="meriyah"&&j&&j.type==="Identifier"){let l=G.originalText.slice(p(j),d(j));(l.startsWith('"')||l.startsWith("'"))&&(B.exported=Object.assign(Object.assign({},B.exported),{},{type:"Literal",value:B.exported.name,raw:l}))}break}}}),k;function Z(B,j){G.originalText[d(j)]!==";"&&(B.range=[p(B),d(j)])}}function C(k){switch(k.type){case"CallExpression":k.type="OptionalCallExpression",k.callee=C(k.callee);break;case"MemberExpression":k.type="OptionalMemberExpression",k.object=C(k.object);break;case"TSNonNullExpression":k.expression=C(k.expression);break}return k}function M(k){return k.type==="LogicalExpression"&&k.right.type==="LogicalExpression"&&k.operator===k.right.operator}function L(k){return M(k)?L({type:"LogicalExpression",operator:k.operator,left:L({type:"LogicalExpression",operator:k.operator,left:k.left,right:k.right.left,range:[p(k.left),d(k.right.left)]}),right:k.right.right,range:[p(k),d(k)]}):k}u.exports=D}}),uo=W({"node_modules/@babel/parser/lib/index.js"(h){"use strict";H(),Object.defineProperty(h,"__esModule",{value:!0});function u(t,e){if(t==null)return{};var s={},r=Object.keys(t),i,a;for(a=0;a=0)&&(s[i]=t[i]);return s}var p=class{constructor(t,e,s){this.line=void 0,this.column=void 0,this.index=void 0,this.line=t,this.column=e,this.index=s}},d=class{constructor(t,e){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=e}};function m(t,e){let{line:s,column:r,index:i}=t;return new p(s,r+e,i+e)}var x=Object.freeze({SyntaxError:"BABEL_PARSER_SYNTAX_ERROR",SourceTypeModuleError:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"}),A=function(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t.length-1;return{get(){return t.reduce((s,r)=>s[r],this)},set(s){t.reduce((r,i,a)=>a===e?r[i]=s:r[i],this)}}},g=(t,e,s)=>Object.keys(s).map(r=>[r,s[r]]).filter(r=>{let[,i]=r;return!!i}).map(r=>{let[i,a]=r;return[i,typeof a=="function"?{value:a,enumerable:!1}:typeof a.reflect=="string"?Object.assign({},a,A(a.reflect.split("."))):a]}).reduce((r,i)=>{let[a,n]=i;return Object.defineProperty(r,a,Object.assign({configurable:!0},n))},Object.assign(new t,e)),E=t=>({ImportMetaOutsideModule:t(`import.meta may appear only with 'sourceType: "module"'`,{code:x.SourceTypeModuleError}),ImportOutsideModule:t(`'import' and 'export' may appear only with 'sourceType: "module"'`,{code:x.SourceTypeModuleError})}),F={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},D=t=>{let{type:e,prefix:s}=t;return e==="UpdateExpression"?F.UpdateExpression[String(s)]:F[e]},C=t=>({AccessorIsGenerator:t(e=>{let{kind:s}=e;return"A ".concat(s,"ter cannot be a generator.")}),ArgumentsInClass:t("'arguments' is only allowed in functions and class methods."),AsyncFunctionInSingleStatementContext:t("Async functions can only be declared at the top level or inside a block."),AwaitBindingIdentifier:t("Can not use 'await' as identifier inside an async function."),AwaitBindingIdentifierInStaticBlock:t("Can not use 'await' as identifier inside a static block."),AwaitExpressionFormalParameter:t("'await' is not allowed in async function parameters."),AwaitNotInAsyncContext:t("'await' is only allowed within async functions and at the top levels of modules."),AwaitNotInAsyncFunction:t("'await' is only allowed within async functions."),BadGetterArity:t("A 'get' accesor must not have any formal parameters."),BadSetterArity:t("A 'set' accesor must have exactly one formal parameter."),BadSetterRestParameter:t("A 'set' accesor function argument must not be a rest parameter."),ConstructorClassField:t("Classes may not have a field named 'constructor'."),ConstructorClassPrivateField:t("Classes may not have a private field named '#constructor'."),ConstructorIsAccessor:t("Class constructor may not be an accessor."),ConstructorIsAsync:t("Constructor can't be an async function."),ConstructorIsGenerator:t("Constructor can't be a generator."),DeclarationMissingInitializer:t(e=>{let{kind:s}=e;return"Missing initializer in ".concat(s," declaration.")}),DecoratorBeforeExport:t("Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax."),DecoratorConstructor:t("Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?"),DecoratorExportClass:t("Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead."),DecoratorSemicolon:t("Decorators must not be followed by a semicolon."),DecoratorStaticBlock:t("Decorators can't be used with a static block."),DeletePrivateField:t("Deleting a private field is not allowed."),DestructureNamedImport:t("ES2015 named imports do not destructure. Use another statement for destructuring after the import."),DuplicateConstructor:t("Duplicate constructor in the same class."),DuplicateDefaultExport:t("Only one default export allowed per module."),DuplicateExport:t(e=>{let{exportName:s}=e;return"`".concat(s,"` has already been exported. Exported identifiers must be unique.")}),DuplicateProto:t("Redefinition of __proto__ property."),DuplicateRegExpFlags:t("Duplicate regular expression flag."),ElementAfterRest:t("Rest element must be last element."),EscapedCharNotAnIdentifier:t("Invalid Unicode escape."),ExportBindingIsString:t(e=>{let{localName:s,exportName:r}=e;return"A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '".concat(s,"' as '").concat(r,"' } from 'some-module'`?")}),ExportDefaultFromAsIdentifier:t("'from' is not allowed as an identifier after 'export default'."),ForInOfLoopInitializer:t(e=>{let{type:s}=e;return"'".concat(s==="ForInStatement"?"for-in":"for-of","' loop variable declaration may not have an initializer.")}),ForOfAsync:t("The left-hand side of a for-of loop may not be 'async'."),ForOfLet:t("The left-hand side of a for-of loop may not start with 'let'."),GeneratorInSingleStatementContext:t("Generators can only be declared at the top level or inside a block."),IllegalBreakContinue:t(e=>{let{type:s}=e;return"Unsyntactic ".concat(s==="BreakStatement"?"break":"continue",".")}),IllegalLanguageModeDirective:t("Illegal 'use strict' directive in function with non-simple parameter list."),IllegalReturn:t("'return' outside of function."),ImportBindingIsString:t(e=>{let{importName:s}=e;return'A string literal cannot be used as an imported binding.\n- Did you mean `import { "'.concat(s,'" as foo }`?')}),ImportCallArgumentTrailingComma:t("Trailing comma is disallowed inside import(...) arguments."),ImportCallArity:t(e=>{let{maxArgumentCount:s}=e;return"`import()` requires exactly ".concat(s===1?"one argument":"one or two arguments",".")}),ImportCallNotNewExpression:t("Cannot use new with import(...)."),ImportCallSpreadArgument:t("`...` is not allowed in `import()`."),IncompatibleRegExpUVFlags:t("The 'u' and 'v' regular expression flags cannot be enabled at the same time."),InvalidBigIntLiteral:t("Invalid BigIntLiteral."),InvalidCodePoint:t("Code point out of bounds."),InvalidCoverInitializedName:t("Invalid shorthand property initializer."),InvalidDecimal:t("Invalid decimal."),InvalidDigit:t(e=>{let{radix:s}=e;return"Expected number in radix ".concat(s,".")}),InvalidEscapeSequence:t("Bad character escape sequence."),InvalidEscapeSequenceTemplate:t("Invalid escape sequence in template."),InvalidEscapedReservedWord:t(e=>{let{reservedWord:s}=e;return"Escape sequence in keyword ".concat(s,".")}),InvalidIdentifier:t(e=>{let{identifierName:s}=e;return"Invalid identifier ".concat(s,".")}),InvalidLhs:t(e=>{let{ancestor:s}=e;return"Invalid left-hand side in ".concat(D(s),".")}),InvalidLhsBinding:t(e=>{let{ancestor:s}=e;return"Binding invalid left-hand side in ".concat(D(s),".")}),InvalidNumber:t("Invalid number."),InvalidOrMissingExponent:t("Floating-point numbers require a valid exponent after the 'e'."),InvalidOrUnexpectedToken:t(e=>{let{unexpected:s}=e;return"Unexpected character '".concat(s,"'.")}),InvalidParenthesizedAssignment:t("Invalid parenthesized assignment pattern."),InvalidPrivateFieldResolution:t(e=>{let{identifierName:s}=e;return"Private name #".concat(s," is not defined.")}),InvalidPropertyBindingPattern:t("Binding member expression."),InvalidRecordProperty:t("Only properties and spread elements are allowed in record definitions."),InvalidRestAssignmentPattern:t("Invalid rest operator's argument."),LabelRedeclaration:t(e=>{let{labelName:s}=e;return"Label '".concat(s,"' is already declared.")}),LetInLexicalBinding:t("'let' is not allowed to be used as a name in 'let' or 'const' declarations."),LineTerminatorBeforeArrow:t("No line break is allowed before '=>'."),MalformedRegExpFlags:t("Invalid regular expression flag."),MissingClassName:t("A class name is required."),MissingEqInAssignment:t("Only '=' operator can be used for specifying default value."),MissingSemicolon:t("Missing semicolon."),MissingPlugin:t(e=>{let{missingPlugin:s}=e;return"This experimental syntax requires enabling the parser plugin: ".concat(s.map(r=>JSON.stringify(r)).join(", "),".")}),MissingOneOfPlugins:t(e=>{let{missingPlugin:s}=e;return"This experimental syntax requires enabling one of the following parser plugin(s): ".concat(s.map(r=>JSON.stringify(r)).join(", "),".")}),MissingUnicodeEscape:t("Expecting Unicode escape sequence \\uXXXX."),MixingCoalesceWithLogical:t("Nullish coalescing operator(??) requires parens when mixing with logical operators."),ModuleAttributeDifferentFromType:t("The only accepted module attribute is `type`."),ModuleAttributeInvalidValue:t("Only string literals are allowed as module attribute values."),ModuleAttributesWithDuplicateKeys:t(e=>{let{key:s}=e;return'Duplicate key "'.concat(s,'" is not allowed in module attributes.')}),ModuleExportNameHasLoneSurrogate:t(e=>{let{surrogateCharCode:s}=e;return"An export name cannot include a lone surrogate, found '\\u".concat(s.toString(16),"'.")}),ModuleExportUndefined:t(e=>{let{localName:s}=e;return"Export '".concat(s,"' is not defined.")}),MultipleDefaultsInSwitch:t("Multiple default clauses."),NewlineAfterThrow:t("Illegal newline after throw."),NoCatchOrFinally:t("Missing catch or finally clause."),NumberIdentifier:t("Identifier directly after number."),NumericSeparatorInEscapeSequence:t("Numeric separators are not allowed inside unicode escape sequences or hex escape sequences."),ObsoleteAwaitStar:t("'await*' has been removed from the async functions proposal. Use Promise.all() instead."),OptionalChainingNoNew:t("Constructors in/after an Optional Chain are not allowed."),OptionalChainingNoTemplate:t("Tagged Template Literals are not allowed in optionalChain."),OverrideOnConstructor:t("'override' modifier cannot appear on a constructor declaration."),ParamDupe:t("Argument name clash."),PatternHasAccessor:t("Object pattern can't contain getter or setter."),PatternHasMethod:t("Object pattern can't contain methods."),PrivateInExpectedIn:t(e=>{let{identifierName:s}=e;return"Private names are only allowed in property accesses (`obj.#".concat(s,"`) or in `in` expressions (`#").concat(s," in obj`).")}),PrivateNameRedeclaration:t(e=>{let{identifierName:s}=e;return"Duplicate private name #".concat(s,".")}),RecordExpressionBarIncorrectEndSyntaxType:t("Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'."),RecordExpressionBarIncorrectStartSyntaxType:t("Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'."),RecordExpressionHashIncorrectStartSyntaxType:t("Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'."),RecordNoProto:t("'__proto__' is not allowed in Record expressions."),RestTrailingComma:t("Unexpected trailing comma after rest element."),SloppyFunction:t("In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement."),StaticPrototype:t("Classes may not have static property named prototype."),SuperNotAllowed:t("`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?"),SuperPrivateField:t("Private fields can't be accessed on super."),TrailingDecorator:t("Decorators must be attached to a class element."),TupleExpressionBarIncorrectEndSyntaxType:t("Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'."),TupleExpressionBarIncorrectStartSyntaxType:t("Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'."),TupleExpressionHashIncorrectStartSyntaxType:t("Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'."),UnexpectedArgumentPlaceholder:t("Unexpected argument placeholder."),UnexpectedAwaitAfterPipelineBody:t('Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.'),UnexpectedDigitAfterHash:t("Unexpected digit after hash token."),UnexpectedImportExport:t("'import' and 'export' may only appear at the top level."),UnexpectedKeyword:t(e=>{let{keyword:s}=e;return"Unexpected keyword '".concat(s,"'.")}),UnexpectedLeadingDecorator:t("Leading decorators must be attached to a class declaration."),UnexpectedLexicalDeclaration:t("Lexical declaration cannot appear in a single-statement context."),UnexpectedNewTarget:t("`new.target` can only be used in functions or class properties."),UnexpectedNumericSeparator:t("A numeric separator is only allowed between two digits."),UnexpectedPrivateField:t("Unexpected private name."),UnexpectedReservedWord:t(e=>{let{reservedWord:s}=e;return"Unexpected reserved word '".concat(s,"'.")}),UnexpectedSuper:t("'super' is only allowed in object methods and classes."),UnexpectedToken:t(e=>{let{expected:s,unexpected:r}=e;return"Unexpected token".concat(r?" '".concat(r,"'."):"").concat(s?', expected "'.concat(s,'"'):"")}),UnexpectedTokenUnaryExponentiation:t("Illegal expression. Wrap left hand side or entire exponentiation in parentheses."),UnsupportedBind:t("Binding should be performed on object property."),UnsupportedDecoratorExport:t("A decorated export must export a class declaration."),UnsupportedDefaultExport:t("Only expressions, functions or classes are allowed as the `default` export."),UnsupportedImport:t("`import` can only be used in `import()` or `import.meta`."),UnsupportedMetaProperty:t(e=>{let{target:s,onlyValidPropertyName:r}=e;return"The only valid meta property for ".concat(s," is ").concat(s,".").concat(r,".")}),UnsupportedParameterDecorator:t("Decorators cannot be used to decorate parameters."),UnsupportedPropertyDecorator:t("Decorators cannot be used to decorate object literal properties."),UnsupportedSuper:t("'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])."),UnterminatedComment:t("Unterminated comment."),UnterminatedRegExp:t("Unterminated regular expression."),UnterminatedString:t("Unterminated string constant."),UnterminatedTemplate:t("Unterminated template."),VarRedeclaration:t(e=>{let{identifierName:s}=e;return"Identifier '".concat(s,"' has already been declared.")}),YieldBindingIdentifier:t("Can not use 'yield' as identifier inside a generator."),YieldInParameter:t("Yield expression is not allowed in formal parameters."),ZeroDigitNumericSeparator:t("Numeric separator can not be used after leading 0.")}),M=t=>({StrictDelete:t("Deleting local variable in strict mode."),StrictEvalArguments:t(e=>{let{referenceName:s}=e;return"Assigning to '".concat(s,"' in strict mode.")}),StrictEvalArgumentsBinding:t(e=>{let{bindingName:s}=e;return"Binding '".concat(s,"' in strict mode.")}),StrictFunction:t("In strict mode code, functions can only be declared at top level or inside a block."),StrictNumericEscape:t("The only valid numeric escape in strict mode is '\\0'."),StrictOctalLiteral:t("Legacy octal literals are not allowed in strict mode."),StrictWith:t("'with' in strict mode.")}),L=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),k=t=>({PipeBodyIsTighter:t("Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence."),PipeTopicRequiresHackPipes:t('Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'),PipeTopicUnbound:t("Topic reference is unbound; it must be inside a pipe body."),PipeTopicUnconfiguredToken:t(e=>{let{token:s}=e;return"Invalid topic token ".concat(s,". In order to use ").concat(s,' as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "').concat(s,'" }.')}),PipeTopicUnused:t("Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once."),PipeUnparenthesizedBody:t(e=>{let{type:s}=e;return"Hack-style pipe body cannot be an unparenthesized ".concat(D({type:s}),"; please wrap it in parentheses.")}),PipelineBodyNoArrow:t('Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.'),PipelineBodySequenceExpression:t("Pipeline body may not be a comma-separated sequence expression."),PipelineHeadSequenceExpression:t("Pipeline head should not be a comma-separated sequence expression."),PipelineTopicUnused:t("Pipeline is in topic style but does not use topic reference."),PrimaryTopicNotAllowed:t("Topic reference was used in a lexical context without topic binding."),PrimaryTopicRequiresSmartPipeline:t('Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.')}),G=["toMessage"];function Z(t){let{toMessage:e}=t,s=u(t,G);return function r(i){let{loc:a,details:n}=i;return g(SyntaxError,Object.assign({},s,{loc:a}),{clone(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=o.loc||{};return r({loc:new p("line"in c?c.line:this.loc.line,"column"in c?c.column:this.loc.column,"index"in c?c.index:this.loc.index),details:Object.assign({},this.details,o.details)})},details:{value:n,enumerable:!1},message:{get(){return"".concat(e(this.details)," (").concat(this.loc.line,":").concat(this.loc.column,")")},set(o){Object.defineProperty(this,"message",{value:o})}},pos:{reflect:"loc.index",enumerable:!0},missingPlugin:"missingPlugin"in n&&{reflect:"details.missingPlugin",enumerable:!0}})}}function B(t,e){return Object.assign({toMessage:typeof t=="string"?()=>t:t},e)}function j(t,e){if(Array.isArray(t))return i=>j(i,t[0]);let s=t(B),r={};for(let i of Object.keys(s))r[i]=Z(Object.assign({code:x.SyntaxError,reasonCode:i},e?{syntaxPlugin:e}:{},s[i]));return r}var l=Object.assign({},j(E),j(C),j(M),j(Rn||(Rn=ht(["pipelineOperator"])))(k)),{defineProperty:Y}=Object,ie=(t,e)=>Y(t,e,{enumerable:!1,value:t[e]});function Q(t){return ie(t.loc.start,"index"),ie(t.loc.end,"index"),t}var Ce=t=>class extends t{parse(){let e=Q(super.parse());return this.options.tokens&&(e.tokens=e.tokens.map(Q)),e}parseRegExpLiteral(e){let{pattern:s,flags:r}=e,i=null;try{i=new RegExp(s,r)}catch{}let a=this.estreeParseLiteral(i);return a.regex={pattern:s,flags:r},a}parseBigIntLiteral(e){let s;try{s=BigInt(e)}catch{s=null}let r=this.estreeParseLiteral(s);return r.bigint=String(r.value||e),r}parseDecimalLiteral(e){let r=this.estreeParseLiteral(null);return r.decimal=String(r.value||e),r}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}directiveToStmt(e){let s=e.value,r=this.startNodeAt(e.start,e.loc.start),i=this.startNodeAt(s.start,s.loc.start);return i.value=s.extra.expressionValue,i.raw=s.extra.raw,r.expression=this.finishNodeAt(i,"Literal",s.loc.end),r.directive=s.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",e.loc.end)}initFunction(e,s){super.initFunction(e,s),e.expression=!1}checkDeclaration(e){e!=null&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){var s;return e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&!((s=e.expression.extra)!=null&&s.parenthesized)}parseBlockBody(e){for(var s=arguments.length,r=new Array(s>1?s-1:0),i=1;ithis.directiveToStmt(n));e.body=a.concat(e.body),delete e.directives}pushClassMethod(e,s,r,i,a,n){this.parseMethod(s,r,i,a,n,"ClassMethod",!0),s.typeParameters&&(s.value.typeParameters=s.typeParameters,delete s.typeParameters),e.body.push(s)}parsePrivateName(){let e=super.parsePrivateName();return this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(e):e}convertPrivateNameToPrivateIdentifier(e){let s=super.getPrivateNameSV(e);return e=e,delete e.id,e.name=s,e.type="PrivateIdentifier",e}isPrivateName(e){return this.getPluginOption("estree","classFeatures")?e.type==="PrivateIdentifier":super.isPrivateName(e)}getPrivateNameSV(e){return this.getPluginOption("estree","classFeatures")?e.name:super.getPrivateNameSV(e)}parseLiteral(e,s){let r=super.parseLiteral(e,s);return r.raw=r.extra.raw,delete r.extra,r}parseFunctionBody(e,s){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;super.parseFunctionBody(e,s,r),e.expression=e.body.type!=="BlockStatement"}parseMethod(e,s,r,i,a,n){let o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1,c=this.startNode();return c.kind=e.kind,c=super.parseMethod(c,s,r,i,a,n,o),c.type="FunctionExpression",delete c.kind,e.value=c,n==="ClassPrivateMethod"&&(e.computed=!1),n="MethodDefinition",this.finishNode(e,n)}parseClassProperty(){let e=super.parseClassProperty(...arguments);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition"),e}parseClassPrivateProperty(){let e=super.parseClassPrivateProperty(...arguments);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition",e.computed=!1),e}parseObjectMethod(e,s,r,i,a){let n=super.parseObjectMethod(e,s,r,i,a);return n&&(n.type="Property",n.kind==="method"&&(n.kind="init"),n.shorthand=!1),n}parseObjectProperty(e,s,r,i,a){let n=super.parseObjectProperty(e,s,r,i,a);return n&&(n.kind="init",n.type="Property"),n}isValidLVal(e){for(var s=arguments.length,r=new Array(s>1?s-1:0),i=1;i1&&arguments[1]!==void 0?arguments[1]:!1;if(e!=null&&this.isObjectProperty(e)){let{key:r,value:i}=e;this.isPrivateName(r)&&this.classScope.usePrivateName(this.getPrivateNameSV(r),r.loc.start),this.toAssignable(i,s)}else super.toAssignable(e,s)}toAssignableObjectExpressionProp(e){e.kind==="get"||e.kind==="set"?this.raise(l.PatternHasAccessor,{at:e.key}):e.method?this.raise(l.PatternHasMethod,{at:e.key}):super.toAssignableObjectExpressionProp(...arguments)}finishCallExpression(e,s){if(super.finishCallExpression(e,s),e.callee.type==="Import"){if(e.type="ImportExpression",e.source=e.arguments[0],this.hasPlugin("importAssertions")){var r;e.attributes=(r=e.arguments[1])!=null?r:null}delete e.arguments,delete e.callee}return e}toReferencedArguments(e){e.type!=="ImportExpression"&&super.toReferencedArguments(e)}parseExport(e){switch(super.parseExport(e),e.type){case"ExportAllDeclaration":e.exported=null;break;case"ExportNamedDeclaration":e.specifiers.length===1&&e.specifiers[0].type==="ExportNamespaceSpecifier"&&(e.type="ExportAllDeclaration",e.exported=e.specifiers[0].exported,delete e.specifiers);break}return e}parseSubscript(e,s,r,i,a){let n=super.parseSubscript(e,s,r,i,a);if(a.optionalChainMember){if((n.type==="OptionalMemberExpression"||n.type==="OptionalCallExpression")&&(n.type=n.type.substring(8)),a.stop){let o=this.startNodeAtNode(n);return o.expression=n,this.finishNode(o,"ChainExpression")}}else(n.type==="MemberExpression"||n.type==="CallExpression")&&(n.optional=!1);return n}hasPropertyAsPrivateName(e){return e.type==="ChainExpression"&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isOptionalChain(e){return e.type==="ChainExpression"}isObjectProperty(e){return e.type==="Property"&&e.kind==="init"&&!e.method}isObjectMethod(e){return e.method||e.kind==="get"||e.kind==="set"}finishNodeAt(e,s,r){return Q(super.finishNodeAt(e,s,r))}resetEndLocation(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state.lastTokEndLoc;super.resetEndLocation(e,s),Q(e)}},ee=class{constructor(t,e){this.token=void 0,this.preserveSpace=void 0,this.token=t,this.preserveSpace=!!e}},U={brace:new ee("{"),j_oTag:new ee("...",!0)};U.template=new ee("`",!0);var O=!0,P=!0,De=!0,V=!0,$=!0,me=!0,ce=class{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.rightAssociative=!!e.rightAssociative,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop!=null?e.binop:null,this.updateContext=null}},ae=new Map;function q(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};e.keyword=t;let s=w(t,e);return ae.set(t,s),s}function X(t,e){return w(t,{beforeExpr:O,binop:e})}var re=-1,ne=[],Ue=[],_e=[],oe=[],Je=[],Ye=[];function w(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var s,r,i,a;return++re,Ue.push(t),_e.push((s=e.binop)!=null?s:-1),oe.push((r=e.beforeExpr)!=null?r:!1),Je.push((i=e.startsExpr)!=null?i:!1),Ye.push((a=e.prefix)!=null?a:!1),ne.push(new ce(t,e)),re}function _(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var s,r,i,a;return++re,ae.set(t,re),Ue.push(t),_e.push((s=e.binop)!=null?s:-1),oe.push((r=e.beforeExpr)!=null?r:!1),Je.push((i=e.startsExpr)!=null?i:!1),Ye.push((a=e.prefix)!=null?a:!1),ne.push(new ce("name",e)),re}var co={bracketL:w("[",{beforeExpr:O,startsExpr:P}),bracketHashL:w("#[",{beforeExpr:O,startsExpr:P}),bracketBarL:w("[|",{beforeExpr:O,startsExpr:P}),bracketR:w("]"),bracketBarR:w("|]"),braceL:w("{",{beforeExpr:O,startsExpr:P}),braceBarL:w("{|",{beforeExpr:O,startsExpr:P}),braceHashL:w("#{",{beforeExpr:O,startsExpr:P}),braceR:w("}"),braceBarR:w("|}"),parenL:w("(",{beforeExpr:O,startsExpr:P}),parenR:w(")"),comma:w(",",{beforeExpr:O}),semi:w(";",{beforeExpr:O}),colon:w(":",{beforeExpr:O}),doubleColon:w("::",{beforeExpr:O}),dot:w("."),question:w("?",{beforeExpr:O}),questionDot:w("?."),arrow:w("=>",{beforeExpr:O}),template:w("template"),ellipsis:w("...",{beforeExpr:O}),backQuote:w("`",{startsExpr:P}),dollarBraceL:w("${",{beforeExpr:O,startsExpr:P}),templateTail:w("...`",{startsExpr:P}),templateNonTail:w("...${",{beforeExpr:O,startsExpr:P}),at:w("@"),hash:w("#",{startsExpr:P}),interpreterDirective:w("#!..."),eq:w("=",{beforeExpr:O,isAssign:V}),assign:w("_=",{beforeExpr:O,isAssign:V}),slashAssign:w("_=",{beforeExpr:O,isAssign:V}),xorAssign:w("_=",{beforeExpr:O,isAssign:V}),moduloAssign:w("_=",{beforeExpr:O,isAssign:V}),incDec:w("++/--",{prefix:$,postfix:me,startsExpr:P}),bang:w("!",{beforeExpr:O,prefix:$,startsExpr:P}),tilde:w("~",{beforeExpr:O,prefix:$,startsExpr:P}),doubleCaret:w("^^",{startsExpr:P}),doubleAt:w("@@",{startsExpr:P}),pipeline:X("|>",0),nullishCoalescing:X("??",1),logicalOR:X("||",1),logicalAND:X("&&",2),bitwiseOR:X("|",3),bitwiseXOR:X("^",4),bitwiseAND:X("&",5),equality:X("==/!=/===/!==",6),lt:X(">/<=/>=",7),gt:X(">/<=/>=",7),relational:X(">/<=/>=",7),bitShift:X("<>>/>>>",8),bitShiftL:X("<>>/>>>",8),bitShiftR:X("<>>/>>>",8),plusMin:w("+/-",{beforeExpr:O,binop:9,prefix:$,startsExpr:P}),modulo:w("%",{binop:10,startsExpr:P}),star:w("*",{binop:10}),slash:X("/",10),exponent:w("**",{beforeExpr:O,binop:11,rightAssociative:!0}),_in:q("in",{beforeExpr:O,binop:7}),_instanceof:q("instanceof",{beforeExpr:O,binop:7}),_break:q("break"),_case:q("case",{beforeExpr:O}),_catch:q("catch"),_continue:q("continue"),_debugger:q("debugger"),_default:q("default",{beforeExpr:O}),_else:q("else",{beforeExpr:O}),_finally:q("finally"),_function:q("function",{startsExpr:P}),_if:q("if"),_return:q("return",{beforeExpr:O}),_switch:q("switch"),_throw:q("throw",{beforeExpr:O,prefix:$,startsExpr:P}),_try:q("try"),_var:q("var"),_const:q("const"),_with:q("with"),_new:q("new",{beforeExpr:O,startsExpr:P}),_this:q("this",{startsExpr:P}),_super:q("super",{startsExpr:P}),_class:q("class",{startsExpr:P}),_extends:q("extends",{beforeExpr:O}),_export:q("export"),_import:q("import",{startsExpr:P}),_null:q("null",{startsExpr:P}),_true:q("true",{startsExpr:P}),_false:q("false",{startsExpr:P}),_typeof:q("typeof",{beforeExpr:O,prefix:$,startsExpr:P}),_void:q("void",{beforeExpr:O,prefix:$,startsExpr:P}),_delete:q("delete",{beforeExpr:O,prefix:$,startsExpr:P}),_do:q("do",{isLoop:De,beforeExpr:O}),_for:q("for",{isLoop:De}),_while:q("while",{isLoop:De}),_as:_("as",{startsExpr:P}),_assert:_("assert",{startsExpr:P}),_async:_("async",{startsExpr:P}),_await:_("await",{startsExpr:P}),_from:_("from",{startsExpr:P}),_get:_("get",{startsExpr:P}),_let:_("let",{startsExpr:P}),_meta:_("meta",{startsExpr:P}),_of:_("of",{startsExpr:P}),_sent:_("sent",{startsExpr:P}),_set:_("set",{startsExpr:P}),_static:_("static",{startsExpr:P}),_yield:_("yield",{startsExpr:P}),_asserts:_("asserts",{startsExpr:P}),_checks:_("checks",{startsExpr:P}),_exports:_("exports",{startsExpr:P}),_global:_("global",{startsExpr:P}),_implements:_("implements",{startsExpr:P}),_intrinsic:_("intrinsic",{startsExpr:P}),_infer:_("infer",{startsExpr:P}),_is:_("is",{startsExpr:P}),_mixins:_("mixins",{startsExpr:P}),_proto:_("proto",{startsExpr:P}),_require:_("require",{startsExpr:P}),_keyof:_("keyof",{startsExpr:P}),_readonly:_("readonly",{startsExpr:P}),_unique:_("unique",{startsExpr:P}),_abstract:_("abstract",{startsExpr:P}),_declare:_("declare",{startsExpr:P}),_enum:_("enum",{startsExpr:P}),_module:_("module",{startsExpr:P}),_namespace:_("namespace",{startsExpr:P}),_interface:_("interface",{startsExpr:P}),_type:_("type",{startsExpr:P}),_opaque:_("opaque",{startsExpr:P}),name:w("name",{startsExpr:P}),string:w("string",{startsExpr:P}),num:w("num",{startsExpr:P}),bigint:w("bigint",{startsExpr:P}),decimal:w("decimal",{startsExpr:P}),regexp:w("regexp",{startsExpr:P}),privateName:w("#name",{startsExpr:P}),eof:w("eof"),jsxName:w("jsxName"),jsxText:w("jsxText",{beforeExpr:!0}),jsxTagStart:w("jsxTagStart",{startsExpr:!0}),jsxTagEnd:w("jsxTagEnd"),placeholder:w("%%",{startsExpr:!0})};function K(t){return t>=93&&t<=128}function po(t){return t<=92}function ye(t){return t>=58&&t<=128}function nr(t){return t>=58&&t<=132}function fo(t){return oe[t]}function Kt(t){return Je[t]}function mo(t){return t>=29&&t<=33}function or(t){return t>=125&&t<=127}function yo(t){return t>=90&&t<=92}function Vt(t){return t>=58&&t<=92}function xo(t){return t>=39&&t<=59}function go(t){return t===34}function Ao(t){return Ye[t]}function Po(t){return t>=117&&t<=119}function To(t){return t>=120&&t<=126}function ve(t){return Ue[t]}function lt(t){return _e[t]}function Eo(t){return _e[t]!==-1}function bo(t){return t===57}function ut(t){return t>=24&&t<=25}function xe(t){return ne[t]}ne[8].updateContext=t=>{t.pop()},ne[5].updateContext=ne[7].updateContext=ne[23].updateContext=t=>{t.push(U.brace)},ne[22].updateContext=t=>{t[t.length-1]===U.template?t.pop():t.push(U.template)},ne[138].updateContext=t=>{t.push(U.j_expr,U.j_oTag)};var Ht="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",hr="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F",Co=new RegExp("["+Ht+"]"),vo=new RegExp("["+Ht+hr+"]");Ht=hr=null;var lr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938],So=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];function Wt(t,e){let s=65536;for(let r=0,i=e.length;rt)return!1;if(s+=e[r+1],s>=t)return!0}return!1}function ge(t){return t<65?t===36:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&Co.test(String.fromCharCode(t)):Wt(t,lr)}function ze(t){return t<48?t===36:t<58?!0:t<65?!1:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&vo.test(String.fromCharCode(t)):Wt(t,lr)||Wt(t,So)}var Gt={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},wo=new Set(Gt.keyword),No=new Set(Gt.strict),Io=new Set(Gt.strictBind);function ur(t,e){return e&&t==="await"||t==="enum"}function cr(t,e){return ur(t,e)||No.has(t)}function pr(t){return Io.has(t)}function fr(t,e){return cr(t,e)||pr(t)}function ko(t){return wo.has(t)}function Do(t,e,s){return t===64&&e===64&&ge(s)}var Fo=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function Lo(t){return Fo.has(t)}var Ke=0,$e=1,Ae=2,Xt=4,dr=8,ct=16,mr=32,Fe=64,Jt=128,pt=256,ft=$e|Ae|pt,Pe=1,Ve=2,yr=4,Se=8,dt=16,xr=64,mt=128,Yt=256,$t=512,Qt=1024,Zt=2048,gr=Pe|Ve|Se|mt,Te=Pe|0|Se|0,yt=Pe|0|yr|0,Ar=Pe|0|dt|0,Oo=0|Ve|0|mt,Bo=0|Ve|0|0,Pr=Pe|Ve|Se|Yt,Tr=0|Qt,Le=0|xr,Mo=Pe|0|0|xr,Ro=Pr|$t,jo=0|Qt,qo=Zt,xt=4,es=2,ts=1,ss=es|ts,Uo=es|xt,_o=ts|xt,zo=es,Ko=ts,rs=0,Vo=class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(t){if(typeof t=="string")return this.plugins.has(t);{let[e,s]=t;if(!this.hasPlugin(e))return!1;let r=this.plugins.get(e);for(let i of Object.keys(s))if((r==null?void 0:r[i])!==s[i])return!1;return!0}}getPluginOption(t,e){var s;return(s=this.plugins.get(t))==null?void 0:s[e]}};function Er(t,e){t.trailingComments===void 0?t.trailingComments=e:t.trailingComments.unshift(...e)}function Ho(t,e){t.leadingComments===void 0?t.leadingComments=e:t.leadingComments.unshift(...e)}function Qe(t,e){t.innerComments===void 0?t.innerComments=e:t.innerComments.unshift(...e)}function Ze(t,e,s){let r=null,i=e.length;for(;r===null&&i>0;)r=e[--i];r===null||r.start>s.start?Qe(t,s.comments):Er(r,s.comments)}var Wo=class extends Vo{addComment(t){this.filename&&(t.loc.filename=this.filename),this.state.comments.push(t)}processComment(t){let{commentStack:e}=this.state,s=e.length;if(s===0)return;let r=s-1,i=e[r];i.start===t.end&&(i.leadingNode=t,r--);let{start:a}=t;for(;r>=0;r--){let n=e[r],o=n.end;if(o>a)n.containingNode=t,this.finalizeComment(n),e.splice(r,1);else{o===a&&(n.trailingNode=t);break}}}finalizeComment(t){let{comments:e}=t;if(t.leadingNode!==null||t.trailingNode!==null)t.leadingNode!==null&&Er(t.leadingNode,e),t.trailingNode!==null&&Ho(t.trailingNode,e);else{let{containingNode:s,start:r}=t;if(this.input.charCodeAt(r-1)===44)switch(s.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":Ze(s,s.properties,t);break;case"CallExpression":case"OptionalCallExpression":Ze(s,s.arguments,t);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":Ze(s,s.params,t);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":Ze(s,s.elements,t);break;case"ExportNamedDeclaration":case"ImportDeclaration":Ze(s,s.specifiers,t);break;default:Qe(s,e)}else Qe(s,e)}}finalizeRemainingComments(){let{commentStack:t}=this.state;for(let e=t.length-1;e>=0;e--)this.finalizeComment(t[e]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(t){let{commentStack:e}=this.state,{length:s}=e;if(s===0)return;let r=e[s-1];r.leadingNode===t&&(r.leadingNode=null)}takeSurroundingComments(t,e,s){let{commentStack:r}=this.state,i=r.length;if(i===0)return;let a=i-1;for(;a>=0;a--){let n=r[a],o=n.end;if(n.start===s)n.leadingNode=t;else if(o===e)n.trailingNode=t;else if(o=48&&e<=57},Qo=new Set([103,109,115,105,121,117,100,118]),vr={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},At={bin:t=>t===48||t===49,oct:t=>t>=48&&t<=55,dec:t=>t>=48&&t<=57,hex:t=>t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102},we=class{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new d(t.startLoc,t.endLoc)}},Zo=class extends Wo{constructor(t,e){super(),this.isLookahead=void 0,this.tokens=[],this.state=new Cr,this.state.init(t),this.input=e,this.length=e.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new we(this.state)),this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return this.match(t)?(this.next(),!0):!1}match(t){return this.state.type===t}createLookaheadState(t){return{pos:t.pos,value:null,type:t.type,start:t.start,end:t.end,context:[this.curContext()],inType:t.inType,startLoc:t.startLoc,lastTokEndLoc:t.lastTokEndLoc,curLine:t.curLine,lineStart:t.lineStart,curPosition:t.curPosition}}lookahead(){let t=this.state;this.state=this.createLookaheadState(t),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let e=this.state;return this.state=t,e}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){return as.lastIndex=t,as.test(this.input)?as.lastIndex:t}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(t){let e=this.input.charCodeAt(t);if((e&64512)===55296&&++t{let[s,r]=e;return this.raise(s,{at:r})}),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){if(this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length){this.finishToken(135);return}this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(){let t;this.isLookahead||(t=this.state.curPosition());let e=this.state.pos,s=this.input.indexOf("*/",e+2);if(s===-1)throw this.raise(l.UnterminatedComment,{at:this.state.curPosition()});for(this.state.pos=s+2,gt.lastIndex=e+2;gt.test(this.input)&>.lastIndex<=s;)++this.state.curLine,this.state.lineStart=gt.lastIndex;if(this.isLookahead)return;let r={type:"CommentBlock",value:this.input.slice(e+2,s),start:e,end:s+2,loc:new d(t,this.state.curPosition())};return this.options.tokens&&this.pushToken(r),r}skipLineComment(t){let e=this.state.pos,s;this.isLookahead||(s=this.state.curPosition());let r=this.input.charCodeAt(this.state.pos+=t);if(this.state.post)){let i=this.skipLineComment(3);i!==void 0&&(this.addComment(i),this.options.attachComment&&e.push(i))}else break e}else if(s===60&&!this.inModule){let r=this.state.pos;if(this.input.charCodeAt(r+1)===33&&this.input.charCodeAt(r+2)===45&&this.input.charCodeAt(r+3)===45){let i=this.skipLineComment(4);i!==void 0&&(this.addComment(i),this.options.attachComment&&e.push(i))}else break e}else break e}}if(e.length>0){let s=this.state.pos,r={start:t,end:s,comments:e,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(r)}}finishToken(t,e){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let s=this.state.type;this.state.type=t,this.state.value=e,this.isLookahead||this.updateContext(s)}replaceToken(t){this.state.type=t,this.updateContext()}readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter())return;let t=this.state.pos+1,e=this.codePointAtPos(t);if(e>=48&&e<=57)throw this.raise(l.UnexpectedDigitAfterHash,{at:this.state.curPosition()});if(e===123||e===91&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),this.getPluginOption("recordAndTuple","syntaxType")!=="hash")throw this.raise(e===123?l.RecordExpressionHashIncorrectStartSyntaxType:l.TupleExpressionHashIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,e===123?this.finishToken(7):this.finishToken(1)}else ge(e)?(++this.state.pos,this.finishToken(134,this.readWord1(e))):e===92?(++this.state.pos,this.finishToken(134,this.readWord1())):this.finishOp(27,1)}readToken_dot(){let t=this.input.charCodeAt(this.state.pos+1);if(t>=48&&t<=57){this.readNumber(!0);return}t===46&&this.input.charCodeAt(this.state.pos+2)===46?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(this.state.pos!==0||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(t!==33)return!1;let e=this.state.pos;for(this.state.pos+=1;!Oe(t)&&++this.state.pos=48&&e<=57)?(this.state.pos+=2,this.finishToken(18)):(++this.state.pos,this.finishToken(17))}getTokenFromCode(t){switch(t){case 46:this.readToken_dot();return;case 40:++this.state.pos,this.finishToken(10);return;case 41:++this.state.pos,this.finishToken(11);return;case 59:++this.state.pos,this.finishToken(13);return;case 44:++this.state.pos,this.finishToken(12);return;case 91:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(l.TupleExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(2)}else++this.state.pos,this.finishToken(0);return;case 93:++this.state.pos,this.finishToken(3);return;case 123:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(l.RecordExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(6)}else++this.state.pos,this.finishToken(5);return;case 125:++this.state.pos,this.finishToken(8);return;case 58:this.hasPlugin("functionBind")&&this.input.charCodeAt(this.state.pos+1)===58?this.finishOp(15,2):(++this.state.pos,this.finishToken(14));return;case 63:this.readToken_question();return;case 96:this.readTemplateToken();return;case 48:{let e=this.input.charCodeAt(this.state.pos+1);if(e===120||e===88){this.readRadixNumber(16);return}if(e===111||e===79){this.readRadixNumber(8);return}if(e===98||e===66){this.readRadixNumber(2);return}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.readNumber(!1);return;case 34:case 39:this.readString(t);return;case 47:this.readToken_slash();return;case 37:case 42:this.readToken_mult_modulo(t);return;case 124:case 38:this.readToken_pipe_amp(t);return;case 94:this.readToken_caret();return;case 43:case 45:this.readToken_plus_min(t);return;case 60:this.readToken_lt();return;case 62:this.readToken_gt();return;case 61:case 33:this.readToken_eq_excl(t);return;case 126:this.finishOp(36,1);return;case 64:this.readToken_atSign();return;case 35:this.readToken_numberSign();return;case 92:this.readWord();return;default:if(ge(t)){this.readWord(t);return}}throw this.raise(l.InvalidOrUnexpectedToken,{at:this.state.curPosition(),unexpected:String.fromCodePoint(t)})}finishOp(t,e){let s=this.input.slice(this.state.pos,this.state.pos+e);this.state.pos+=e,this.finishToken(t,s)}readRegexp(){let t=this.state.startLoc,e=this.state.start+1,s,r,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(l.UnterminatedRegExp,{at:m(t,1)});let c=this.input.charCodeAt(i);if(Oe(c))throw this.raise(l.UnterminatedRegExp,{at:m(t,1)});if(s)s=!1;else{if(c===91)r=!0;else if(c===93&&r)r=!1;else if(c===47&&!r)break;s=c===92}}let a=this.input.slice(e,i);++i;let n="",o=()=>m(t,i+2-e);for(;i3&&arguments[3]!==void 0?arguments[3]:!0,i=this.state.pos,a=t===16?vr.hex:vr.decBinOct,n=t===16?At.hex:t===10?At.dec:t===8?At.oct:At.bin,o=!1,c=0;for(let f=0,y=e==null?1/0:e;f=97?v=T-97+10:T>=65?v=T-65+10:$o(T)?v=T-48:v=1/0,v>=t)if(this.options.errorRecovery&&v<=9)v=0,this.raise(l.InvalidDigit,{at:this.state.curPosition(),radix:t});else if(s)v=0,o=!0;else break;++this.state.pos,c=c*t+v}return this.state.pos===i||e!=null&&this.state.pos-i!==e||o?null:c}readRadixNumber(t){let e=this.state.curPosition(),s=!1;this.state.pos+=2;let r=this.readInt(t);r==null&&this.raise(l.InvalidDigit,{at:m(e,2),radix:t});let i=this.input.charCodeAt(this.state.pos);if(i===110)++this.state.pos,s=!0;else if(i===109)throw this.raise(l.InvalidDecimal,{at:e});if(ge(this.codePointAtPos(this.state.pos)))throw this.raise(l.NumberIdentifier,{at:this.state.curPosition()});if(s){let a=this.input.slice(e.index,this.state.pos).replace(/[_n]/g,"");this.finishToken(131,a);return}this.finishToken(130,r)}readNumber(t){let e=this.state.pos,s=this.state.curPosition(),r=!1,i=!1,a=!1,n=!1,o=!1;!t&&this.readInt(10)===null&&this.raise(l.InvalidNumber,{at:this.state.curPosition()});let c=this.state.pos-e>=2&&this.input.charCodeAt(e)===48;if(c){let v=this.input.slice(e,this.state.pos);if(this.recordStrictModeErrors(l.StrictOctalLiteral,{at:s}),!this.state.strict){let N=v.indexOf("_");N>0&&this.raise(l.ZeroDigitNumericSeparator,{at:m(s,N)})}o=c&&!/[89]/.test(v)}let f=this.input.charCodeAt(this.state.pos);if(f===46&&!o&&(++this.state.pos,this.readInt(10),r=!0,f=this.input.charCodeAt(this.state.pos)),(f===69||f===101)&&!o&&(f=this.input.charCodeAt(++this.state.pos),(f===43||f===45)&&++this.state.pos,this.readInt(10)===null&&this.raise(l.InvalidOrMissingExponent,{at:s}),r=!0,n=!0,f=this.input.charCodeAt(this.state.pos)),f===110&&((r||c)&&this.raise(l.InvalidBigIntLiteral,{at:s}),++this.state.pos,i=!0),f===109&&(this.expectPlugin("decimal",this.state.curPosition()),(n||c)&&this.raise(l.InvalidDecimal,{at:s}),++this.state.pos,a=!0),ge(this.codePointAtPos(this.state.pos)))throw this.raise(l.NumberIdentifier,{at:this.state.curPosition()});let y=this.input.slice(e,this.state.pos).replace(/[_mn]/g,"");if(i){this.finishToken(131,y);return}if(a){this.finishToken(132,y);return}let T=o?parseInt(y,8):parseFloat(y);this.finishToken(130,T)}readCodePoint(t){let e=this.input.charCodeAt(this.state.pos),s;if(e===123){if(++this.state.pos,s=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,t),++this.state.pos,s!==null&&s>1114111)if(t)this.raise(l.InvalidCodePoint,{at:this.state.curPosition()});else return null}else s=this.readHexChar(4,!1,t);return s}readString(t){let e="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(l.UnterminatedString,{at:this.state.startLoc});let r=this.input.charCodeAt(this.state.pos);if(r===t)break;if(r===92)e+=this.input.slice(s,this.state.pos),e+=this.readEscapedChar(!1),s=this.state.pos;else if(r===8232||r===8233)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(Oe(r))throw this.raise(l.UnterminatedString,{at:this.state.startLoc});++this.state.pos}}e+=this.input.slice(s,this.state.pos++),this.finishToken(129,e)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let t="",e=this.state.pos,s=!1;for(++this.state.pos;;){if(this.state.pos>=this.length)throw this.raise(l.UnterminatedTemplate,{at:m(this.state.startLoc,1)});let r=this.input.charCodeAt(this.state.pos);if(r===96){++this.state.pos,t+=this.input.slice(e,this.state.pos),this.finishToken(24,s?null:t);return}if(r===36&&this.input.charCodeAt(this.state.pos+1)===123){this.state.pos+=2,t+=this.input.slice(e,this.state.pos),this.finishToken(25,s?null:t);return}if(r===92){t+=this.input.slice(e,this.state.pos);let i=this.readEscapedChar(!0);i===null?s=!0:t+=i,e=this.state.pos}else if(Oe(r)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,r){case 13:this.input.charCodeAt(this.state.pos)===10&&++this.state.pos;case 10:t+=`
-`;break;default:t+=String.fromCharCode(r);break}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos}else++this.state.pos}}recordStrictModeErrors(t,e){let{at:s}=e,r=s.index;this.state.strict&&!this.state.strictErrors.has(r)?this.raise(t,{at:s}):this.state.strictErrors.set(r,[t,s])}readEscapedChar(t){let e=!t,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){case 110:return`
-`;case 114:return"\r";case 120:{let r=this.readHexChar(2,!1,e);return r===null?null:String.fromCharCode(r)}case 117:{let r=this.readCodePoint(e);return r===null?null:String.fromCodePoint(r)}case 116:return" ";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:this.input.charCodeAt(this.state.pos)===10&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(t)return null;this.recordStrictModeErrors(l.StrictNumericEscape,{at:m(this.state.curPosition(),-1)});default:if(s>=48&&s<=55){let r=m(this.state.curPosition(),-1),a=this.input.slice(this.state.pos-1,this.state.pos+2).match(/^[0-7]+/)[0],n=parseInt(a,8);n>255&&(a=a.slice(0,-1),n=parseInt(a,8)),this.state.pos+=a.length-1;let o=this.input.charCodeAt(this.state.pos);if(a!=="0"||o===56||o===57){if(t)return null;this.recordStrictModeErrors(l.StrictNumericEscape,{at:r})}return String.fromCharCode(n)}return String.fromCharCode(s)}}readHexChar(t,e,s){let r=this.state.curPosition(),i=this.readInt(16,t,e,!1);return i===null&&(s?this.raise(l.InvalidEscapeSequence,{at:r}):this.state.pos=r.index-1),i}readWord1(t){this.state.containsEsc=!1;let e="",s=this.state.pos,r=this.state.pos;for(t!==void 0&&(this.state.pos+=t<=65535?1:2);this.state.pos=0;o--){let c=n[o];if(c.loc.index===a)return n[o]=t({loc:i,details:r});if(c.loc.indexthis.hasPlugin(e)))throw this.raise(l.MissingOneOfPlugins,{at:this.state.startLoc,missingPlugin:t})}},ns=class{constructor(t){this.var=new Set,this.lexical=new Set,this.functions=new Set,this.flags=t}},os=class{constructor(t,e){this.parser=void 0,this.scopeStack=[],this.inModule=void 0,this.undefinedExports=new Map,this.parser=t,this.inModule=e}get inFunction(){return(this.currentVarScopeFlags()&Ae)>0}get allowSuper(){return(this.currentThisScopeFlags()&ct)>0}get allowDirectSuper(){return(this.currentThisScopeFlags()&mr)>0}get inClass(){return(this.currentThisScopeFlags()&Fe)>0}get inClassAndNotInNonArrowFunction(){let t=this.currentThisScopeFlags();return(t&Fe)>0&&(t&Ae)===0}get inStaticBlock(){for(let t=this.scopeStack.length-1;;t--){let{flags:e}=this.scopeStack[t];if(e&Jt)return!0;if(e&(ft|Fe))return!1}}get inNonArrowFunction(){return(this.currentThisScopeFlags()&Ae)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new ns(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(t){return!!(t.flags&(Ae|Jt)||!this.parser.inModule&&t.flags&$e)}declareName(t,e,s){let r=this.currentScope();if(e&Se||e&dt)this.checkRedeclarationInScope(r,t,e,s),e&dt?r.functions.add(t):r.lexical.add(t),e&Se&&this.maybeExportDefined(r,t);else if(e&yr)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,t,e,s),r.var.add(t),this.maybeExportDefined(r,t),!(r.flags&ft));--i);this.parser.inModule&&r.flags&$e&&this.undefinedExports.delete(t)}maybeExportDefined(t,e){this.parser.inModule&&t.flags&$e&&this.undefinedExports.delete(e)}checkRedeclarationInScope(t,e,s,r){this.isRedeclaredInScope(t,e,s)&&this.parser.raise(l.VarRedeclaration,{at:r,identifierName:e})}isRedeclaredInScope(t,e,s){return s&Pe?s&Se?t.lexical.has(e)||t.functions.has(e)||t.var.has(e):s&dt?t.lexical.has(e)||!this.treatFunctionsAsVarInScope(t)&&t.var.has(e):t.lexical.has(e)&&!(t.flags&dr&&t.lexical.values().next().value===e)||!this.treatFunctionsAsVarInScope(t)&&t.functions.has(e):!1}checkLocalExport(t){let{name:e}=t,s=this.scopeStack[0];!s.lexical.has(e)&&!s.var.has(e)&&!s.functions.has(e)&&this.undefinedExports.set(e,t.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:e}=this.scopeStack[t];if(e&ft)return e}}currentThisScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:e}=this.scopeStack[t];if(e&(ft|Fe)&&!(e&Xt))return e}}},eh=class extends ns{constructor(){super(...arguments),this.declareFunctions=new Set}},th=class extends os{createScope(t){return new eh(t)}declareName(t,e,s){let r=this.currentScope();if(e&Zt){this.checkRedeclarationInScope(r,t,e,s),this.maybeExportDefined(r,t),r.declareFunctions.add(t);return}super.declareName(...arguments)}isRedeclaredInScope(t,e,s){return super.isRedeclaredInScope(...arguments)?!0:s&Zt?!t.declareFunctions.has(e)&&(t.lexical.has(e)||t.functions.has(e)):!1}checkLocalExport(t){this.scopeStack[0].declareFunctions.has(t.name)||super.checkLocalExport(t)}},sh=class{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}},rh=class{constructor(t){this.parser=void 0,this.stack=[],this.undefinedPrivateNames=new Map,this.parser=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new sh)}exit(){let t=this.stack.pop(),e=this.current();for(let[s,r]of Array.from(t.undefinedPrivateNames))e?e.undefinedPrivateNames.has(s)||e.undefinedPrivateNames.set(s,r):this.parser.raise(l.InvalidPrivateFieldResolution,{at:r,identifierName:s})}declarePrivateName(t,e,s){let{privateNames:r,loneAccessors:i,undefinedPrivateNames:a}=this.current(),n=r.has(t);if(e&ss){let o=n&&i.get(t);if(o){let c=o&xt,f=e&xt,y=o&ss,T=e&ss;n=y===T||c!==f,n||i.delete(t)}else n||i.set(t,e)}n&&this.parser.raise(l.PrivateNameRedeclaration,{at:s,identifierName:t}),r.add(t),a.delete(t)}usePrivateName(t,e){let s;for(s of this.stack)if(s.privateNames.has(t))return;s?s.undefinedPrivateNames.set(t,e):this.parser.raise(l.InvalidPrivateFieldResolution,{at:e,identifierName:t})}},ih=0,Sr=1,hs=2,wr=3,Pt=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ih;this.type=void 0,this.type=t}canBeArrowParameterDeclaration(){return this.type===hs||this.type===Sr}isCertainlyParameterDeclaration(){return this.type===wr}},Nr=class extends Pt{constructor(t){super(t),this.declarationErrors=new Map}recordDeclarationError(t,e){let{at:s}=e,r=s.index;this.declarationErrors.set(r,[t,s])}clearDeclarationError(t){this.declarationErrors.delete(t)}iterateErrors(t){this.declarationErrors.forEach(t)}},ah=class{constructor(t){this.parser=void 0,this.stack=[new Pt],this.parser=t}enter(t){this.stack.push(t)}exit(){this.stack.pop()}recordParameterInitializerError(t,e){let{at:s}=e,r={at:s.loc.start},{stack:i}=this,a=i.length-1,n=i[a];for(;!n.isCertainlyParameterDeclaration();){if(n.canBeArrowParameterDeclaration())n.recordDeclarationError(t,r);else return;n=i[--a]}this.parser.raise(t,r)}recordArrowParemeterBindingError(t,e){let{at:s}=e,{stack:r}=this,i=r[r.length-1],a={at:s.loc.start};if(i.isCertainlyParameterDeclaration())this.parser.raise(t,a);else if(i.canBeArrowParameterDeclaration())i.recordDeclarationError(t,a);else return}recordAsyncArrowParametersError(t){let{at:e}=t,{stack:s}=this,r=s.length-1,i=s[r];for(;i.canBeArrowParameterDeclaration();)i.type===hs&&i.recordDeclarationError(l.AwaitBindingIdentifier,{at:e}),i=s[--r]}validateAsPattern(){let{stack:t}=this,e=t[t.length-1];!e.canBeArrowParameterDeclaration()||e.iterateErrors(s=>{let[r,i]=s;this.parser.raise(r,{at:i});let a=t.length-2,n=t[a];for(;n.canBeArrowParameterDeclaration();)n.clearDeclarationError(i.index),n=t[--a]})}};function nh(){return new Pt(wr)}function oh(){return new Nr(Sr)}function hh(){return new Nr(hs)}function Ir(){return new Pt}var He=0,kr=1,Tt=2,Dr=4,We=8,lh=class{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&Tt)>0}get hasYield(){return(this.currentFlags()&kr)>0}get hasReturn(){return(this.currentFlags()&Dr)>0}get hasIn(){return(this.currentFlags()&We)>0}};function Et(t,e){return(t?Tt:0)|(e?kr:0)}var uh=class extends Zo{addExtra(t,e,s){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;if(!t)return;let i=t.extra=t.extra||{};r?i[e]=s:Object.defineProperty(i,e,{enumerable:r,value:s})}isContextual(t){return this.state.type===t&&!this.state.containsEsc}isUnparsedContextual(t,e){let s=t+e.length;if(this.input.slice(t,s)===e){let r=this.input.charCodeAt(s);return!(ze(r)||(r&64512)===55296)}return!1}isLookaheadContextual(t){let e=this.nextTokenStart();return this.isUnparsedContextual(e,t)}eatContextual(t){return this.isContextual(t)?(this.next(),!0):!1}expectContextual(t,e){if(!this.eatContextual(t))throw e!=null?this.raise(e,{at:this.state.startLoc}):this.unexpected(null,t)}canInsertSemicolon(){return this.match(135)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return is.test(this.input.slice(this.state.lastTokEndLoc.index,this.state.start))}hasFollowingLineBreak(){return br.lastIndex=this.state.end,br.test(this.input)}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(){((arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0)?this.isLineTerminator():this.eat(13))||this.raise(l.MissingSemicolon,{at:this.state.lastTokEndLoc})}expect(t,e){this.eat(t)||this.unexpected(e,t)}tryParse(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state.clone(),s={node:null};try{let r=t(function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;throw s.node=i,s});if(this.state.errors.length>e.errors.length){let i=this.state;return this.state=e,this.state.tokensLength=i.tokensLength,{node:r,error:i.errors[e.errors.length],thrown:!1,aborted:!1,failState:i}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(r){let i=this.state;if(this.state=e,r instanceof SyntaxError)return{node:null,error:r,thrown:!0,aborted:!1,failState:i};if(r===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:i};throw r}}checkExpressionErrors(t,e){if(!t)return!1;let{shorthandAssignLoc:s,doubleProtoLoc:r,privateKeyLoc:i,optionalParametersLoc:a}=t,n=!!s||!!r||!!a||!!i;if(!e)return n;s!=null&&this.raise(l.InvalidCoverInitializedName,{at:s}),r!=null&&this.raise(l.DuplicateProto,{at:r}),i!=null&&this.raise(l.UnexpectedPrivateField,{at:i}),a!=null&&this.unexpected(a)}isLiteralPropertyName(){return nr(this.state.type)}isPrivateName(t){return t.type==="PrivateName"}getPrivateNameSV(t){return t.id.name}hasPropertyAsPrivateName(t){return(t.type==="MemberExpression"||t.type==="OptionalMemberExpression")&&this.isPrivateName(t.property)}isOptionalChain(t){return t.type==="OptionalMemberExpression"||t.type==="OptionalCallExpression"}isObjectProperty(t){return t.type==="ObjectProperty"}isObjectMethod(t){return t.type==="ObjectMethod"}initializeScopes(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.sourceType==="module",e=this.state.labels;this.state.labels=[];let s=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let r=this.inModule;this.inModule=t;let i=this.scope,a=this.getScopeHandler();this.scope=new a(this,t);let n=this.prodParam;this.prodParam=new lh;let o=this.classScope;this.classScope=new rh(this);let c=this.expressionScope;return this.expressionScope=new ah(this),()=>{this.state.labels=e,this.exportedIdentifiers=s,this.inModule=r,this.scope=i,this.prodParam=n,this.classScope=o,this.expressionScope=c}}enterInitialScopes(){let t=He;this.inModule&&(t|=Tt),this.scope.enter($e),this.prodParam.enter(t)}checkDestructuringPrivate(t){let{privateKeyLoc:e}=t;e!==null&&this.expectPlugin("destructuringPrivate",e)}},bt=class{constructor(){this.shorthandAssignLoc=null,this.doubleProtoLoc=null,this.privateKeyLoc=null,this.optionalParametersLoc=null}},Ct=class{constructor(t,e,s){this.type="",this.start=e,this.end=0,this.loc=new d(s),t!=null&&t.options.ranges&&(this.range=[e,0]),t!=null&&t.filename&&(this.loc.filename=t.filename)}},ls=Ct.prototype;ls.__clone=function(){let t=new Ct,e=Object.keys(this);for(let s=0,r=e.length;s1&&arguments[1]!==void 0?arguments[1]:this.state.lastTokEndLoc;t.end=e.index,t.loc.end=e,this.options.ranges&&(t.range[1]=e.index)}resetStartLocationFromNode(t,e){this.resetStartLocation(t,e.start,e.loc.start)}},dh=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),I=j(jn||(jn=ht(["flow"])))(t=>({AmbiguousConditionalArrow:t("Ambiguous expression: wrap the arrow functions in parentheses to disambiguate."),AmbiguousDeclareModuleKind:t("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module."),AssignReservedType:t(e=>{let{reservedType:s}=e;return"Cannot overwrite reserved type ".concat(s,".")}),DeclareClassElement:t("The `declare` modifier can only appear on class fields."),DeclareClassFieldInitializer:t("Initializers are not allowed in fields with the `declare` modifier."),DuplicateDeclareModuleExports:t("Duplicate `declare module.exports` statement."),EnumBooleanMemberNotInitialized:t(e=>{let{memberName:s,enumName:r}=e;return"Boolean enum members need to be initialized. Use either `".concat(s," = true,` or `").concat(s," = false,` in enum `").concat(r,"`.")}),EnumDuplicateMemberName:t(e=>{let{memberName:s,enumName:r}=e;return"Enum member names need to be unique, but the name `".concat(s,"` has already been used before in enum `").concat(r,"`.")}),EnumInconsistentMemberValues:t(e=>{let{enumName:s}=e;return"Enum `".concat(s,"` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.")}),EnumInvalidExplicitType:t(e=>{let{invalidEnumType:s,enumName:r}=e;return"Enum type `".concat(s,"` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `").concat(r,"`.")}),EnumInvalidExplicitTypeUnknownSupplied:t(e=>{let{enumName:s}=e;return"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `".concat(s,"`.")}),EnumInvalidMemberInitializerPrimaryType:t(e=>{let{enumName:s,memberName:r,explicitType:i}=e;return"Enum `".concat(s,"` has type `").concat(i,"`, so the initializer of `").concat(r,"` needs to be a ").concat(i," literal.")}),EnumInvalidMemberInitializerSymbolType:t(e=>{let{enumName:s,memberName:r}=e;return"Symbol enum members cannot be initialized. Use `".concat(r,",` in enum `").concat(s,"`.")}),EnumInvalidMemberInitializerUnknownType:t(e=>{let{enumName:s,memberName:r}=e;return"The enum member initializer for `".concat(r,"` needs to be a literal (either a boolean, number, or string) in enum `").concat(s,"`.")}),EnumInvalidMemberName:t(e=>{let{enumName:s,memberName:r,suggestion:i}=e;return"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `".concat(r,"`, consider using `").concat(i,"`, in enum `").concat(s,"`.")}),EnumNumberMemberNotInitialized:t(e=>{let{enumName:s,memberName:r}=e;return"Number enum members need to be initialized, e.g. `".concat(r," = 1` in enum `").concat(s,"`.")}),EnumStringMemberInconsistentlyInitailized:t(e=>{let{enumName:s}=e;return"String enum members need to consistently either all use initializers, or use no initializers, in enum `".concat(s,"`.")}),GetterMayNotHaveThisParam:t("A getter cannot have a `this` parameter."),ImportTypeShorthandOnlyInPureImport:t("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements."),InexactInsideExact:t("Explicit inexact syntax cannot appear inside an explicit exact object type."),InexactInsideNonObject:t("Explicit inexact syntax cannot appear in class or interface definitions."),InexactVariance:t("Explicit inexact syntax cannot have variance."),InvalidNonTypeImportInDeclareModule:t("Imports within a `declare module` body must always be `import type` or `import typeof`."),MissingTypeParamDefault:t("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),NestedDeclareModule:t("`declare module` cannot be used inside another `declare module`."),NestedFlowComment:t("Cannot have a flow comment inside another flow comment."),PatternIsOptional:t("A binding pattern parameter cannot be optional in an implementation signature.",{reasonCode:"OptionalBindingPattern"}),SetterMayNotHaveThisParam:t("A setter cannot have a `this` parameter."),SpreadVariance:t("Spread properties cannot have variance."),ThisParamAnnotationRequired:t("A type annotation is required for the `this` parameter."),ThisParamBannedInConstructor:t("Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions."),ThisParamMayNotBeOptional:t("The `this` parameter cannot be optional."),ThisParamMustBeFirst:t("The `this` parameter must be the first function parameter."),ThisParamNoDefault:t("The `this` parameter may not have a default value."),TypeBeforeInitializer:t("Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`."),TypeCastInPattern:t("The type cast expression is expected to be wrapped with parenthesis."),UnexpectedExplicitInexactInObject:t("Explicit inexact syntax must appear at the end of an inexact object."),UnexpectedReservedType:t(e=>{let{reservedType:s}=e;return"Unexpected reserved type ".concat(s,".")}),UnexpectedReservedUnderscore:t("`_` is only allowed as a type argument to call or new."),UnexpectedSpaceBetweenModuloChecks:t("Spaces between `%` and `checks` are not allowed here."),UnexpectedSpreadType:t("Spread operator cannot appear in class or interface definitions."),UnexpectedSubtractionOperand:t('Unexpected token, expected "number" or "bigint".'),UnexpectedTokenAfterTypeParameter:t("Expected an arrow function after this type parameter declaration."),UnexpectedTypeParameterBeforeAsyncArrowFunction:t("Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`."),UnsupportedDeclareExportKind:t(e=>{let{unsupportedExportKind:s,suggestion:r}=e;return"`declare export ".concat(s,"` is not supported. Use `").concat(r,"` instead.")}),UnsupportedStatementInDeclareModule:t("Only declares and type imports are allowed inside declare module."),UnterminatedFlowComment:t("Unterminated flow-comment.")}));function mh(t){return t.type==="DeclareExportAllDeclaration"||t.type==="DeclareExportDeclaration"&&(!t.declaration||t.declaration.type!=="TypeAlias"&&t.declaration.type!=="InterfaceDeclaration")}function us(t){return t.importKind==="type"||t.importKind==="typeof"}function Fr(t){return ye(t)&&t!==97}var yh={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function xh(t,e){let s=[],r=[];for(let i=0;iclass extends t{constructor(){super(...arguments),this.flowPragma=void 0}getScopeHandler(){return th}shouldParseTypes(){return this.getPluginOption("flow","all")||this.flowPragma==="flow"}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,s){return e!==129&&e!==13&&e!==28&&this.flowPragma===void 0&&(this.flowPragma=null),super.finishToken(e,s)}addComment(e){if(this.flowPragma===void 0){let s=gh.exec(e.value);if(s)if(s[1]==="flow")this.flowPragma="flow";else if(s[1]==="noflow")this.flowPragma="noflow";else throw new Error("Unexpected flow pragma")}return super.addComment(e)}flowParseTypeInitialiser(e){let s=this.state.inType;this.state.inType=!0,this.expect(e||14);let r=this.flowParseType();return this.state.inType=s,r}flowParsePredicate(){let e=this.startNode(),s=this.state.startLoc;return this.next(),this.expectContextual(107),this.state.lastTokStart>s.index+1&&this.raise(I.UnexpectedSpaceBetweenModuloChecks,{at:s}),this.eat(10)?(e.value=this.parseExpression(),this.expect(11),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){let e=this.state.inType;this.state.inType=!0,this.expect(14);let s=null,r=null;return this.match(54)?(this.state.inType=e,r=this.flowParsePredicate()):(s=this.flowParseType(),this.state.inType=e,this.match(54)&&(r=this.flowParsePredicate())),[s,r]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();let s=e.id=this.parseIdentifier(),r=this.startNode(),i=this.startNode();this.match(47)?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(10);let a=this.flowParseFunctionTypeParams();return r.params=a.params,r.rest=a.rest,r.this=a._this,this.expect(11),[r.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),i.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),s.typeAnnotation=this.finishNode(i,"TypeAnnotation"),this.resetEndLocation(s),this.semicolon(),this.scope.declareName(e.id.name,qo,e.id.loc.start),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,s){if(this.match(80))return this.flowParseDeclareClass(e);if(this.match(68))return this.flowParseDeclareFunction(e);if(this.match(74))return this.flowParseDeclareVariable(e);if(this.eatContextual(123))return this.match(16)?this.flowParseDeclareModuleExports(e):(s&&this.raise(I.NestedDeclareModule,{at:this.state.lastTokStartLoc}),this.flowParseDeclareModule(e));if(this.isContextual(126))return this.flowParseDeclareTypeAlias(e);if(this.isContextual(127))return this.flowParseDeclareOpaqueType(e);if(this.isContextual(125))return this.flowParseDeclareInterface(e);if(this.match(82))return this.flowParseDeclareExportDeclaration(e,s);throw this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,yt,e.id.loc.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(Ke),this.match(129)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();let s=e.body=this.startNode(),r=s.body=[];for(this.expect(5);!this.match(8);){let n=this.startNode();this.match(83)?(this.next(),!this.isContextual(126)&&!this.match(87)&&this.raise(I.InvalidNonTypeImportInDeclareModule,{at:this.state.lastTokStartLoc}),this.parseImport(n)):(this.expectContextual(121,I.UnsupportedStatementInDeclareModule),n=this.flowParseDeclare(n,!0)),r.push(n)}this.scope.exit(),this.expect(8),this.finishNode(s,"BlockStatement");let i=null,a=!1;return r.forEach(n=>{mh(n)?(i==="CommonJS"&&this.raise(I.AmbiguousDeclareModuleKind,{at:n}),i="ES"):n.type==="DeclareModuleExports"&&(a&&this.raise(I.DuplicateDeclareModuleExports,{at:n}),i==="ES"&&this.raise(I.AmbiguousDeclareModuleKind,{at:n}),i="CommonJS",a=!0)}),e.kind=i||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,s){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(75)||this.isLet()||(this.isContextual(126)||this.isContextual(125))&&!s){let r=this.state.value;throw this.raise(I.UnsupportedDeclareExportKind,{at:this.state.startLoc,unsupportedExportKind:r,suggestion:yh[r]})}if(this.match(74)||this.match(68)||this.match(80)||this.isContextual(127))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(55)||this.match(5)||this.isContextual(125)||this.isContextual(126)||this.isContextual(127))return e=this.parseExport(e),e.type==="ExportNamedDeclaration"&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e;throw this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual(108),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){return this.next(),this.flowParseTypeAlias(e),e.type="DeclareTypeAlias",e}flowParseDeclareOpaqueType(e){return this.next(),this.flowParseOpaqueType(e,!0),e.type="DeclareOpaqueType",e}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e.id=this.flowParseRestrictedIdentifier(!s,!0),this.scope.declareName(e.id.name,s?Ar:Te,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.implements=[],e.mixins=[],this.eat(81))do e.extends.push(this.flowParseInterfaceExtends());while(!s&&this.eat(12));if(this.isContextual(114)){this.next();do e.mixins.push(this.flowParseInterfaceExtends());while(this.eat(12))}if(this.isContextual(110)){this.next();do e.implements.push(this.flowParseInterfaceExtends());while(this.eat(12))}e.body=this.flowParseObjectType({allowStatic:s,allowExact:!1,allowSpread:!1,allowProto:s,allowInexact:!1})}flowParseInterfaceExtends(){let e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){e==="_"&&this.raise(I.UnexpectedReservedUnderscore,{at:this.state.startLoc})}checkReservedType(e,s,r){!dh.has(e)||this.raise(r?I.AssignReservedType:I.UnexpectedReservedType,{at:s,reservedType:e})}flowParseRestrictedIdentifier(e,s){return this.checkReservedType(this.state.value,this.state.startLoc,s),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,Te,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,s){return this.expectContextual(126),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,Te,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(14)&&(e.supertype=this.flowParseTypeInitialiser(14)),e.impltype=null,s||(e.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,s=this.state.startLoc,r=this.startNode(),i=this.flowParseVariance(),a=this.flowParseTypeAnnotatableIdentifier();return r.name=a.name,r.variance=i,r.bound=a.typeAnnotation,this.match(29)?(this.eat(29),r.default=this.flowParseType()):e&&this.raise(I.MissingTypeParamDefault,{at:s}),this.finishNode(r,"TypeParameter")}flowParseTypeParameterDeclaration(){let e=this.state.inType,s=this.startNode();s.params=[],this.state.inType=!0,this.match(47)||this.match(138)?this.next():this.unexpected();let r=!1;do{let i=this.flowParseTypeParameter(r);s.params.push(i),i.default&&(r=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=e,this.finishNode(s,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){let e=this.startNode(),s=this.state.inType;e.params=[],this.state.inType=!0,this.expect(47);let r=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)e.params.push(this.flowParseType()),this.match(48)||this.expect(12);return this.state.noAnonFunctionType=r,this.expect(48),this.state.inType=s,this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){let e=this.startNode(),s=this.state.inType;for(e.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=s,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){let e=this.startNode();if(this.expectContextual(125),e.extends=[],this.eat(81))do e.extends.push(this.flowParseInterfaceExtends());while(this.eat(12));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(130)||this.match(129)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,s,r){return e.static=s,this.lookahead().type===14?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(3),e.value=this.flowParseTypeInitialiser(),e.variance=r,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,s){return e.static=s,e.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(17)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,s){let r=this.startNode();return e.static=s,e.value=this.flowParseObjectTypeMethodish(r),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType(e){let{allowStatic:s,allowExact:r,allowSpread:i,allowProto:a,allowInexact:n}=e,o=this.state.inType;this.state.inType=!0;let c=this.startNode();c.callProperties=[],c.properties=[],c.indexers=[],c.internalSlots=[];let f,y,T=!1;for(r&&this.match(6)?(this.expect(6),f=9,y=!0):(this.expect(5),f=8,y=!1),c.exact=y;!this.match(f);){let N=!1,R=null,z=null,te=this.startNode();if(a&&this.isContextual(115)){let pe=this.lookahead();pe.type!==14&&pe.type!==17&&(this.next(),R=this.state.startLoc,s=!1)}if(s&&this.isContextual(104)){let pe=this.lookahead();pe.type!==14&&pe.type!==17&&(this.next(),N=!0)}let he=this.flowParseVariance();if(this.eat(0))R!=null&&this.unexpected(R),this.eat(0)?(he&&this.unexpected(he.loc.start),c.internalSlots.push(this.flowParseObjectTypeInternalSlot(te,N))):c.indexers.push(this.flowParseObjectTypeIndexer(te,N,he));else if(this.match(10)||this.match(47))R!=null&&this.unexpected(R),he&&this.unexpected(he.loc.start),c.callProperties.push(this.flowParseObjectTypeCallProperty(te,N));else{let pe="init";if(this.isContextual(98)||this.isContextual(103)){let de=this.lookahead();nr(de.type)&&(pe=this.state.value,this.next())}let st=this.flowParseObjectTypeProperty(te,N,R,he,pe,i,n!=null?n:!y);st===null?(T=!0,z=this.state.lastTokStartLoc):c.properties.push(st)}this.flowObjectTypeSemicolon(),z&&!this.match(8)&&!this.match(9)&&this.raise(I.UnexpectedExplicitInexactInObject,{at:z})}this.expect(f),i&&(c.inexact=T);let v=this.finishNode(c,"ObjectTypeAnnotation");return this.state.inType=o,v}flowParseObjectTypeProperty(e,s,r,i,a,n,o){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(n?o||this.raise(I.InexactInsideExact,{at:this.state.lastTokStartLoc}):this.raise(I.InexactInsideNonObject,{at:this.state.lastTokStartLoc}),i&&this.raise(I.InexactVariance,{at:i}),null):(n||this.raise(I.UnexpectedSpreadType,{at:this.state.lastTokStartLoc}),r!=null&&this.unexpected(r),i&&this.raise(I.SpreadVariance,{at:i}),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=s,e.proto=r!=null,e.kind=a;let c=!1;return this.match(47)||this.match(10)?(e.method=!0,r!=null&&this.unexpected(r),i&&this.unexpected(i.loc.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),(a==="get"||a==="set")&&this.flowCheckGetterSetterParams(e),!n&&e.key.name==="constructor"&&e.value.this&&this.raise(I.ThisParamBannedInConstructor,{at:e.value.this})):(a!=="init"&&this.unexpected(),e.method=!1,this.eat(17)&&(c=!0),e.value=this.flowParseTypeInitialiser(),e.variance=i),e.optional=c,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){let s=e.kind==="get"?0:1,r=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(e.kind==="get"?I.GetterMayNotHaveThisParam:I.SetterMayNotHaveThisParam,{at:e.value.this}),r!==s&&this.raise(e.kind==="get"?l.BadGetterArity:l.BadSetterArity,{at:e}),e.kind==="set"&&e.value.rest&&this.raise(l.BadSetterRestParameter,{at:e})}flowObjectTypeSemicolon(){!this.eat(13)&&!this.eat(12)&&!this.match(8)&&!this.match(9)&&this.unexpected()}flowParseQualifiedTypeIdentifier(e,s,r){e=e||this.state.start,s=s||this.state.startLoc;let i=r||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){let a=this.startNodeAt(e,s);a.qualification=i,a.id=this.flowParseRestrictedIdentifier(!0),i=this.finishNode(a,"QualifiedTypeIdentifier")}return i}flowParseGenericType(e,s,r){let i=this.startNodeAt(e,s);return i.typeParameters=null,i.id=this.flowParseQualifiedTypeIdentifier(e,s,r),this.match(47)&&(i.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(i,"GenericTypeAnnotation")}flowParseTypeofType(){let e=this.startNode();return this.expect(87),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){let e=this.startNode();for(e.types=[],this.expect(0);this.state.pos0&&arguments[0]!==void 0?arguments[0]:[],s=null,r=null;for(this.match(78)&&(r=this.flowParseFunctionTypeParam(!0),r.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(s=this.flowParseFunctionTypeParam(!1)),{params:e,rest:s,_this:r}}flowIdentToTypeAnnotation(e,s,r,i){switch(i.name){case"any":return this.finishNode(r,"AnyTypeAnnotation");case"bool":case"boolean":return this.finishNode(r,"BooleanTypeAnnotation");case"mixed":return this.finishNode(r,"MixedTypeAnnotation");case"empty":return this.finishNode(r,"EmptyTypeAnnotation");case"number":return this.finishNode(r,"NumberTypeAnnotation");case"string":return this.finishNode(r,"StringTypeAnnotation");case"symbol":return this.finishNode(r,"SymbolTypeAnnotation");default:return this.checkNotUnderscore(i.name),this.flowParseGenericType(e,s,i)}}flowParsePrimaryType(){let e=this.state.start,s=this.state.startLoc,r=this.startNode(),i,a,n=!1,o=this.state.noAnonFunctionType;switch(this.state.type){case 5:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case 6:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case 0:return this.state.noAnonFunctionType=!1,a=this.flowParseTupleType(),this.state.noAnonFunctionType=o,a;case 47:return r.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(10),i=this.flowParseFunctionTypeParams(),r.params=i.params,r.rest=i.rest,r.this=i._this,this.expect(11),this.expect(19),r.returnType=this.flowParseType(),this.finishNode(r,"FunctionTypeAnnotation");case 10:if(this.next(),!this.match(11)&&!this.match(21))if(K(this.state.type)||this.match(78)){let c=this.lookahead().type;n=c!==17&&c!==14}else n=!0;if(n){if(this.state.noAnonFunctionType=!1,a=this.flowParseType(),this.state.noAnonFunctionType=o,this.state.noAnonFunctionType||!(this.match(12)||this.match(11)&&this.lookahead().type===19))return this.expect(11),a;this.eat(12)}return a?i=this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]):i=this.flowParseFunctionTypeParams(),r.params=i.params,r.rest=i.rest,r.this=i._this,this.expect(11),this.expect(19),r.returnType=this.flowParseType(),r.typeParameters=null,this.finishNode(r,"FunctionTypeAnnotation");case 129:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case 85:case 86:return r.value=this.match(85),this.next(),this.finishNode(r,"BooleanLiteralTypeAnnotation");case 53:if(this.state.value==="-"){if(this.next(),this.match(130))return this.parseLiteralAtNode(-this.state.value,"NumberLiteralTypeAnnotation",r);if(this.match(131))return this.parseLiteralAtNode(-this.state.value,"BigIntLiteralTypeAnnotation",r);throw this.raise(I.UnexpectedSubtractionOperand,{at:this.state.startLoc})}throw this.unexpected();case 130:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case 131:return this.parseLiteral(this.state.value,"BigIntLiteralTypeAnnotation");case 88:return this.next(),this.finishNode(r,"VoidTypeAnnotation");case 84:return this.next(),this.finishNode(r,"NullLiteralTypeAnnotation");case 78:return this.next(),this.finishNode(r,"ThisTypeAnnotation");case 55:return this.next(),this.finishNode(r,"ExistsTypeAnnotation");case 87:return this.flowParseTypeofType();default:if(Vt(this.state.type)){let c=ve(this.state.type);return this.next(),super.createIdentifier(r,c)}else if(K(this.state.type))return this.isContextual(125)?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(e,s,r,this.parseIdentifier())}throw this.unexpected()}flowParsePostfixType(){let e=this.state.start,s=this.state.startLoc,r=this.flowParsePrimaryType(),i=!1;for(;(this.match(0)||this.match(18))&&!this.canInsertSemicolon();){let a=this.startNodeAt(e,s),n=this.eat(18);i=i||n,this.expect(0),!n&&this.match(3)?(a.elementType=r,this.next(),r=this.finishNode(a,"ArrayTypeAnnotation")):(a.objectType=r,a.indexType=this.flowParseType(),this.expect(3),i?(a.optional=n,r=this.finishNode(a,"OptionalIndexedAccessType")):r=this.finishNode(a,"IndexedAccessType"))}return r}flowParsePrefixType(){let e=this.startNode();return this.eat(17)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,"NullableTypeAnnotation")):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){let e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(19)){let s=this.startNodeAt(e.start,e.loc.start);return s.params=[this.reinterpretTypeAsFunctionTypeParam(e)],s.rest=null,s.this=null,s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation")}return e}flowParseIntersectionType(){let e=this.startNode();this.eat(45);let s=this.flowParseAnonFunctionWithoutParens();for(e.types=[s];this.eat(45);)e.types.push(this.flowParseAnonFunctionWithoutParens());return e.types.length===1?s:this.finishNode(e,"IntersectionTypeAnnotation")}flowParseUnionType(){let e=this.startNode();this.eat(43);let s=this.flowParseIntersectionType();for(e.types=[s];this.eat(43);)e.types.push(this.flowParseIntersectionType());return e.types.length===1?s:this.finishNode(e,"UnionTypeAnnotation")}flowParseType(){let e=this.state.inType;this.state.inType=!0;let s=this.flowParseUnionType();return this.state.inType=e,s}flowParseTypeOrImplicitInstantiation(){if(this.state.type===128&&this.state.value==="_"){let e=this.state.start,s=this.state.startLoc,r=this.parseIdentifier();return this.flowParseGenericType(e,s,r)}else return this.flowParseType()}flowParseTypeAnnotation(){let e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,"TypeAnnotation")}flowParseTypeAnnotatableIdentifier(e){let s=e?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(14)&&(s.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(s)),s}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}flowParseVariance(){let e=null;return this.match(53)&&(e=this.startNode(),this.state.value==="+"?e.kind="plus":e.kind="minus",this.next(),this.finishNode(e,"Variance")),e}parseFunctionBody(e,s){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return s?this.forwardNoArrowParamsConversionAt(e,()=>super.parseFunctionBody(e,!0,r)):super.parseFunctionBody(e,!1,r)}parseFunctionBodyAndFinish(e,s){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this.match(14)){let i=this.startNode();[i.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=i.typeAnnotation?this.finishNode(i,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,s,r)}parseStatement(e,s){if(this.state.strict&&this.isContextual(125)){let i=this.lookahead();if(ye(i.type)){let a=this.startNode();return this.next(),this.flowParseInterface(a)}}else if(this.shouldParseEnums()&&this.isContextual(122)){let i=this.startNode();return this.next(),this.flowParseEnumDeclaration(i)}let r=super.parseStatement(e,s);return this.flowPragma===void 0&&!this.isValidDirective(r)&&(this.flowPragma=null),r}parseExpressionStatement(e,s){if(s.type==="Identifier"){if(s.name==="declare"){if(this.match(80)||K(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(e)}else if(K(this.state.type)){if(s.name==="interface")return this.flowParseInterface(e);if(s.name==="type")return this.flowParseTypeAlias(e);if(s.name==="opaque")return this.flowParseOpaqueType(e,!1)}}return super.parseExpressionStatement(e,s)}shouldParseExportDeclaration(){let{type:e}=this.state;return or(e)||this.shouldParseEnums()&&e===122?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){let{type:e}=this.state;return or(e)||this.shouldParseEnums()&&e===122?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(122)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,s,r,i){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){let v=this.lookaheadCharCode();if(v===44||v===61||v===58||v===41)return this.setOptionalParametersError(i),e}this.expect(17);let a=this.state.clone(),n=this.state.noArrowAt,o=this.startNodeAt(s,r),{consequent:c,failed:f}=this.tryParseConditionalConsequent(),[y,T]=this.getArrowLikeExpressions(c);if(f||T.length>0){let v=[...n];if(T.length>0){this.state=a,this.state.noArrowAt=v;for(let N=0;N1&&this.raise(I.AmbiguousConditionalArrow,{at:a.startLoc}),f&&y.length===1&&(this.state=a,v.push(y[0].start),this.state.noArrowAt=v,{consequent:c,failed:f}=this.tryParseConditionalConsequent())}return this.getArrowLikeExpressions(c,!0),this.state.noArrowAt=n,this.expect(14),o.test=e,o.consequent=c,o.alternate=this.forwardNoArrowParamsConversionAt(o,()=>this.parseMaybeAssign(void 0,void 0)),this.finishNode(o,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);let e=this.parseMaybeAssignAllowIn(),s=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:s}}getArrowLikeExpressions(e,s){let r=[e],i=[];for(;r.length!==0;){let a=r.pop();a.type==="ArrowFunctionExpression"?(a.typeParameters||!a.returnType?this.finishArrowValidation(a):i.push(a),r.push(a.body)):a.type==="ConditionalExpression"&&(r.push(a.consequent),r.push(a.alternate))}return s?(i.forEach(a=>this.finishArrowValidation(a)),[i,[]]):xh(i,a=>a.params.every(n=>this.isAssignable(n,!0)))}finishArrowValidation(e){var s;this.toAssignableList(e.params,(s=e.extra)==null?void 0:s.trailingCommaLoc,!1),this.scope.enter(Ae|Xt),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,s){let r;return this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1?(this.state.noArrowParamsConversionAt.push(this.state.start),r=s(),this.state.noArrowParamsConversionAt.pop()):r=s(),r}parseParenItem(e,s,r){if(e=super.parseParenItem(e,s,r),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){let i=this.startNodeAt(s,r);return i.expression=e,i.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(i,"TypeCastExpression")}return e}assertModuleNodeAllowed(e){e.type==="ImportDeclaration"&&(e.importKind==="type"||e.importKind==="typeof")||e.type==="ExportNamedDeclaration"&&e.exportKind==="type"||e.type==="ExportAllDeclaration"&&e.exportKind==="type"||super.assertModuleNodeAllowed(e)}parseExport(e){let s=super.parseExport(e);return(s.type==="ExportNamedDeclaration"||s.type==="ExportAllDeclaration")&&(s.exportKind=s.exportKind||"value"),s}parseExportDeclaration(e){if(this.isContextual(126)){e.exportKind="type";let s=this.startNode();return this.next(),this.match(5)?(e.specifiers=this.parseExportSpecifiers(!0),this.parseExportFrom(e),null):this.flowParseTypeAlias(s)}else if(this.isContextual(127)){e.exportKind="type";let s=this.startNode();return this.next(),this.flowParseOpaqueType(s,!1)}else if(this.isContextual(125)){e.exportKind="type";let s=this.startNode();return this.next(),this.flowParseInterface(s)}else if(this.shouldParseEnums()&&this.isContextual(122)){e.exportKind="value";let s=this.startNode();return this.next(),this.flowParseEnumDeclaration(s)}else return super.parseExportDeclaration(e)}eatExportStar(e){return super.eatExportStar(...arguments)?!0:this.isContextual(126)&&this.lookahead().type===55?(e.exportKind="type",this.next(),this.next(),!0):!1}maybeParseExportNamespaceSpecifier(e){let{startLoc:s}=this.state,r=super.maybeParseExportNamespaceSpecifier(e);return r&&e.exportKind==="type"&&this.unexpected(s),r}parseClassId(e,s,r){super.parseClassId(e,s,r),this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,s,r){let{startLoc:i}=this.state;if(this.isContextual(121)){if(this.parseClassMemberFromModifier(e,s))return;s.declare=!0}super.parseClassMember(e,s,r),s.declare&&(s.type!=="ClassProperty"&&s.type!=="ClassPrivateProperty"&&s.type!=="PropertyDefinition"?this.raise(I.DeclareClassElement,{at:i}):s.value&&this.raise(I.DeclareClassFieldInitializer,{at:s.value}))}isIterator(e){return e==="iterator"||e==="asyncIterator"}readIterator(){let e=super.readWord1(),s="@@"+e;(!this.isIterator(e)||!this.state.inType)&&this.raise(l.InvalidIdentifier,{at:this.state.curPosition(),identifierName:s}),this.finishToken(128,s)}getTokenFromCode(e){let s=this.input.charCodeAt(this.state.pos+1);return e===123&&s===124?this.finishOp(6,2):this.state.inType&&(e===62||e===60)?this.finishOp(e===62?48:47,1):this.state.inType&&e===63?s===46?this.finishOp(18,2):this.finishOp(17,1):Do(e,s,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e)}isAssignable(e,s){return e.type==="TypeCastExpression"?this.isAssignable(e.expression,s):super.isAssignable(e,s)}toAssignable(e){!(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)&&e.type==="AssignmentExpression"&&e.left.type==="TypeCastExpression"&&(e.left=this.typeCastToParameter(e.left)),super.toAssignable(...arguments)}toAssignableList(e,s,r){for(let i=0;i1||!s)&&this.raise(I.TypeCastInPattern,{at:a.typeAnnotation})}return e}parseArrayLike(e,s,r,i){let a=super.parseArrayLike(e,s,r,i);return s&&!this.state.maybeInArrowParameters&&this.toReferencedList(a.elements),a}isValidLVal(e){for(var s=arguments.length,r=new Array(s>1?s-1:0),i=1;i0&&this.isThisParam(o[0])&&this.raise(I.ThisParamBannedInConstructor,{at:s})}else if(s.type==="MethodDefinition"&&a&&s.value.params){let o=s.value.params;o.length>0&&this.isThisParam(o[0])&&this.raise(I.ThisParamBannedInConstructor,{at:s})}}pushClassPrivateMethod(e,s,r,i){s.variance&&this.unexpected(s.variance.loc.start),delete s.variance,this.match(47)&&(s.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,s,r,i)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.match(47)&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(110)){this.next();let s=e.implements=[];do{let r=this.startNode();r.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?r.typeParameters=this.flowParseTypeParameterInstantiation():r.typeParameters=null,s.push(this.finishNode(r,"ClassImplements"))}while(this.eat(12))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);let s=this.getObjectOrClassMethodParams(e);if(s.length>0){let r=s[0];this.isThisParam(r)&&e.kind==="get"?this.raise(I.GetterMayNotHaveThisParam,{at:r}):this.isThisParam(r)&&this.raise(I.SetterMayNotHaveThisParam,{at:r})}}parsePropertyNamePrefixOperator(e){e.variance=this.flowParseVariance()}parseObjPropValue(e,s,r,i,a,n,o,c){e.variance&&this.unexpected(e.variance.loc.start),delete e.variance;let f;this.match(47)&&!o&&(f=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected()),super.parseObjPropValue(e,s,r,i,a,n,o,c),f&&((e.value||e).typeParameters=f)}parseAssignableListItemTypes(e){return this.eat(17)&&(e.type!=="Identifier"&&this.raise(I.PatternIsOptional,{at:e}),this.isThisParam(e)&&this.raise(I.ThisParamMayNotBeOptional,{at:e}),e.optional=!0),this.match(14)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(I.ThisParamAnnotationRequired,{at:e}),this.match(29)&&this.isThisParam(e)&&this.raise(I.ThisParamNoDefault,{at:e}),this.resetEndLocation(e),e}parseMaybeDefault(e,s,r){let i=super.parseMaybeDefault(e,s,r);return i.type==="AssignmentPattern"&&i.typeAnnotation&&i.right.startsuper.parseMaybeAssign(e,s),i),!a.error)return a.node;let{context:c}=this.state,f=c[c.length-1];(f===U.j_oTag||f===U.j_expr)&&c.pop()}if((r=a)!=null&&r.error||this.match(47)){var n,o;i=i||this.state.clone();let c,f=this.tryParse(T=>{var v;c=this.flowParseTypeParameterDeclaration();let N=this.forwardNoArrowParamsConversionAt(c,()=>{let z=super.parseMaybeAssign(e,s);return this.resetStartLocationFromNode(z,c),z});(v=N.extra)!=null&&v.parenthesized&&T();let R=this.maybeUnwrapTypeCastExpression(N);return R.type!=="ArrowFunctionExpression"&&T(),R.typeParameters=c,this.resetStartLocationFromNode(R,c),N},i),y=null;if(f.node&&this.maybeUnwrapTypeCastExpression(f.node).type==="ArrowFunctionExpression"){if(!f.error&&!f.aborted)return f.node.async&&this.raise(I.UnexpectedTypeParameterBeforeAsyncArrowFunction,{at:c}),f.node;y=f.node}if((n=a)!=null&&n.node)return this.state=a.failState,a.node;if(y)return this.state=f.failState,y;throw(o=a)!=null&&o.thrown?a.error:f.thrown?f.error:this.raise(I.UnexpectedTokenAfterTypeParameter,{at:c})}return super.parseMaybeAssign(e,s)}parseArrow(e){if(this.match(14)){let s=this.tryParse(()=>{let r=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;let i=this.startNode();return[i.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=r,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),i});if(s.thrown)return null;s.error&&(this.state=s.failState),e.returnType=s.node.typeAnnotation?this.finishNode(s.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(e){return this.match(14)||super.shouldParseArrow(e)}setArrowFunctionParameters(e,s){this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1?e.params=s:super.setArrowFunctionParameters(e,s)}checkParams(e,s,r){if(!(r&&this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1)){for(let i=0;i